//摄像机改为正交模式
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); //进行转动
}
}
}
}
private void OnRotate(RaycastHit hit)//转动方法
{
Vector3 mousePos = Camera.main.ScreenToWorldPoint(Input.mousePosition);
Vector3 direction = (mousePos - hit.transform.position).normalized;
float angle = 360 - Mathf.Atan2(direction.x, direction.y) * Mathf.Rad2Deg;
hit.transform.eulerAngles = new Vector3(0, 0, angle);
}
3D碰撞器跟随鼠标旋转像机正交模式
于 2022-04-23 17:03:11 首次发布
该博客介绍了如何在Unity3D中使用正交摄像机模式,并通过鼠标点击实现物体的检测与旋转。在OnPos()方法中,当鼠标左键被按下时,通过射线投射检测到名为'one'的物体,然后调用OnRotate()方法进行物体的转动。在OnRotate()方法中,计算鼠标位置与物体位置之间的角度,更新物体的旋转角度,实现了物体围绕垂直轴的平滑旋转。

1223

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



