编程,unity,沿世界轴旋转一定角度,并且限制角度再一定范围内,如何写,帮忙看下我这沿自身的如何改?

编程,unity,沿世界轴旋转一定角度,并且限制角度再一定范围内,如何写,帮忙看下我这沿自身的如何改?transform.eulerAngles=newVector3(r... 编程,unity,沿世界轴旋转一定角度,并且限制角度再一定范围内,如何写,帮忙看下我这沿自身的如何改?
transform.eulerAngles = new Vector3(rigidbody.velocity.y * xxuanzhuan, rigidbody.velocity.x * -tilt, rigidbody.rotation.z);
用rotate该怎么写?,我用rotate 他会不停的转圈 也回不来
transform.Rotate(rigidbody.velocity.y * xxuanzhuan, rigidbody.velocity.x * -tilt, rigidbody.rotation.z);
用 上面那个 限制 角度 而且 松开健 能回到原点来。就是沿自身 旋转,我要沿 世界坐标旋转
如何 改
我要的 效果是按 左键 左边 沿世界轴 右转 (松开 归回0)
按 右键 沿世界轴 右 转 (松开 归回0)
按上健 沿世界轴 上 转 (松开 归回0)
按下健 沿世界轴 下 偏转 (松开 归回0)
这句可以 实现

transform.eulerAngles = new Vector3(rigidbody.velocity.y * xxuanzhuan, rigidbody.velocity.x * -tilt, rigidbody.rotation.z);

但是 是沿 自身 旋转 我需要沿世界轴 旋转
展开
 我来答
一郎大神
推荐于2016-10-19 · TA获得超过1180个赞
知道小有建树答主
回答量:1033
采纳率:92%
帮助的人:318万
展开全部
vector3 a;
void Start()
{
a=transform.eulerAngles;
}

void Update()
{
if(!Input.anyKey)
{ transform.eulerAngles=a;}
else
{
float x=Input.GetAxis("Horizontal");
float y=Input.GetAxis("Vertical");
tranform.Rotate(x*Time.deltaTime,y*Time.deltaTime,0,Space.World);
}
}
更多追问追答
追问
请问下如何  旋转到固定角度,让它停下来,
比如 0度 到 60度。如果一直按住 它 会不停的转下去 如何让它 到60度就停下来?
追答
vector3 a;
float i=0,j=0;
void Start()
{
a=transform.eulerAngles;
}

void Update()
{
if(!Input.anyKey)
{
transform.eulerAngles=a;
i=0;
j=0;
}
else
{
if(mathf.abs(i)<60f)
{
float x=Input.GetAxis("Horizontal");
i+=x*Time.deltaTime;
}
if(mathf.abs(j)<60f)
{
float y=Input.GetAxis("Vertical");
j+=y*Time.deltaTime;
}
tranform.Rotate(x*Time.deltaTime,y*Time.deltaTime,0,Space.World);
}
}
}
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式