unity 如何让物体匀加速和匀减速运动,求代码
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了unity 如何让物体匀加速和匀减速运动,求代码相关的知识,希望对你有一定的参考价值。
匀变速运动的公式:Vt = V0 + at所以在Update里面 speed+= acceleration*Time.delta就好了
speed是速度
acceleration是加速度(符号为负的时候就是减速运动) 参考技术A 你可以试试加力 参考技术B 提供恒定外力追问
不是刚体
unity 如何让物体绕自己的中心轴转
这里有一个炮塔,如何让他旋转?
if(Input.GetKey(KeyCode.Q))
transform.Rotate(0,0,-25*Time.deltaTime );
if(Input.GetKey(KeyCode.E))
transform.Rotate(0,0,25*Time.deltaTime );
这是代码,但是有问题,如何修改?求大神
1、打开unity3d在场景中创建一个球体。
2、然后在项目文件夹中创建一个“Rotate_test”脚本。
3、在脚本中的update中使用RotateAround让物体围绕世界坐标的“(10f,0f,0f)”这个点,以“(0f,0f,1f)”为轴向,也就是Z抽进行旋转,旋转角度是“3f”。
transform.RotateAround(new Vector3 (10f,0f, 0f), new Vector3 (0f, 0f, 1f), 3f);
4、把“Rotate_test”脚本放在球体上。
5、运行后我们法线球体围绕自定义的点以及Z轴向旋转。
参考技术A1.打开Unity3d工程,创建物体和脚本。
2.在void Update()里输入gameObject.transform.Rotate (new Vector3 (0, 1, 0));,表示物体围绕中心轴旋转。
3.将脚本赋予物体。
4.点击播放按钮测试效果。
参考技术B transform.Rotate (Vector3.forward * 25* Time.deltaTime, Space.Self);旋转方向可以是:Vector3.upward.....
旋转中心可以是:Space.Self, Space.World追问
试了一下好像不行啊,大神能不能写全面一点
追答汗……已经汗清楚了……你有把script拉到物体上面吗?
如果实在不行的话,试试下面这个
Quaternion fromRotation = transform.localRotation;
Quaternion toRotation = Quaternion.Euler (0, yDeg, 0); //y轴旋转 yDeg角度
transform.localRotation = Quaternion.Lerp (fromRotation, toRotation, Time.deltaTime * 10);
如果你没有把script拉到物体上面的话,就得加
GameObject obj = GameObject.Find("炮塔(物体名字)“);
然后在上面所有的transform变为obj.transform
以上是关于unity 如何让物体匀加速和匀减速运动,求代码的主要内容,如果未能解决你的问题,请参考以下文章