C# 如何使用统一的触摸输入钳制游戏对象的z旋转,而不会在y旋转上产生抖动
我可以使用下面的代码钳制游戏对象的z旋转,但它总是在我第一次触摸时改变y旋转。我只想旋转z轴C# 如何使用统一的触摸输入钳制游戏对象的z旋转,而不会在y旋转上产生抖动,c#,unity3d,touch-event,screen-rotation,clamp,C#,Unity3d,Touch Event,Screen Rotation,Clamp,我可以使用下面的代码钳制游戏对象的z旋转,但它总是在我第一次触摸时改变y旋转。我只想旋转z轴 private float zRotation; public void RotateMove() { zRotation -= Input.GetTouch(0).deltaPosition.y * rotateSpeed * invert * Time.deltaTime; // this limits the rotatioon zRotation = Math
private float zRotation;
public void RotateMove()
{
zRotation -= Input.GetTouch(0).deltaPosition.y * rotateSpeed * invert * Time.deltaTime;
// this limits the rotatioon
zRotation = Mathf.Clamp(zRotation, -80, 80);
//this rotates the game obj
lamp2Rotate.transform.eulerAngles = new Vector3(0.0f, 0.0f, zRotation);
}
听起来好像
0
不是您想要的Y
您可以保留其他两个旋转:
var eulerAngles = lamp2Rotate.transform.eulerAngles;
eulerAngles.z = zRotation;
lamp2Rotate.transform.eulerAngles = eulerAngles;
听起来好像
0
不是您想要的Y
您可以保留其他两个旋转:
var eulerAngles = lamp2Rotate.transform.eulerAngles;
eulerAngles.z = zRotation;
lamp2Rotate.transform.eulerAngles = eulerAngles;
在touchphase.moved之前,是否有方法防止它在第一次触摸时在z轴上旋转。当我触摸屏幕时,它会立即移动,但我希望它在触摸阶段后移动。移动有一种方法可以防止它在触摸阶段之前第一次触摸时在z轴上旋转。移动。当我触摸屏幕时,它会立即移动,但我希望它在触摸阶段后移动