//相机 透视模式
void Update()
{
OnPos();//跟随旋转
}
private void OnPos()//射线选中
{
if (Input.GetMouseButton(0))
{
Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
RaycastHit hit;
if (Physics.Raycast(ray, out hit))
{
if (hit.transform.name.Equals("one"))//检测到转动物体
{
OnRotate(hit); //进行转动
}
if (hit.transform.name.Equals("two"))//检测到转动物体
{
OnRotate(hit);//进行转动
}
if (hit.transform.name.Equals("three"))//检测到转动物体
{
OnRotate(hit);//进行转动
}
}
}
}
private void OnRotate(RaycastHit hit)//转动方法
{
float speed = 10f;//旋转跟随速度
float OffsetX = Input.GetAxis("Mouse X");//获取鼠标x轴的偏移量
float OffsetY = Input.GetAxis("Mouse Y");//获取鼠标y轴的偏移量
transform.Rotate(new Vector3(0, 0, OffsetX) * speed, Space.World );
//旋转物体 自己调节速度 转动轴向
}
3D碰撞器物体旋转相机透视模式
最新推荐文章于 2025-12-06 10:44:50 发布
此篇博客讲解了如何使用Unity引擎实现相机透视模式下,通过鼠标交互实时控制三个不同物体的旋转。作者详细介绍了Update函数中的OnPos方法,以及如何通过Raycasting检测并响应鼠标点击事件,实现对指定对象的精确旋转控制。
779

被折叠的 条评论
为什么被折叠?



