feat:场景视图添加属性编辑,添加轮廓显示

This commit is contained in:
m0_75251201
2025-11-13 16:24:49 +08:00
parent 9b91218973
commit 8fcbdc5649
95 changed files with 2836 additions and 445 deletions

View File

@@ -0,0 +1,53 @@
using System;
using UnityEngine;
namespace CharacterPreview
{
public class ModelMove:MonoBehaviour
{
private Camera _camera;
public Camera currentCamera
{
get
{
if (!_camera)
{
_camera = Camera.main;
if (!_camera)
{
_camera = FindObjectOfType<Camera>();
}
}
return _camera;
}
}
private void Start()
{
if (currentCamera)
{
var worldPos = CameraLocalToWorld(currentCamera, new Vector3(1, -1, 1));
transform.position = worldPos;
}
else
{
transform.position = new Vector3(8, 8, -16);
}
}
/// <summary>
/// 将摄像机局部坐标系中的点转换为世界坐标系中的点。
/// 假设摄像机局部坐标系:前向为 +Z右为 +X上为 +Y。
/// </summary>
/// <param name="camera">目标摄像机</param>
/// <param name="localPoint">在摄像机局部坐标系中的点</param>
/// <returns>对应的世界坐标</returns>
public static Vector3 CameraLocalToWorld(Camera camera, Vector3 localPoint)
{
if (camera == null)
throw new System.ArgumentNullException(nameof(camera));
Transform camTransform = camera.transform;
// 旋转局部点到世界方向,然后加上摄像机位置
return camTransform.position + camTransform.rotation * localPoint;
}
}
}