unity,按下空格健,物体旋转x轴旋转30度,定在30度不动,松开空格健物体回到0度,脚本怎么写?

unity,按下空格健,物体旋转x轴旋转30度,定在30度不动,松开空格健物体回到0度,脚本怎么写?,第1张

void Update()

{

if (Input.GetKey(KeyCode.Space))

{

if (transform.localEulerAngles.x <30)

this.transform.Rotate(new Vector3(1, 0, 0), 5f * Time.deltaTime)

else

this.transform.localEulerAngles = new Vector3(30,0,0)

}

else

{

if (transform.localEulerAngles.x >0 &&transform.localEulerAngles.x <= 30)

this.transform.Rotate(new Vector3(-1, 0, 0), 5f * Time.deltaTime)

else

this.transform.localEulerAngles = new Vector3(0, 0, 0)

}

}

老实说,我学Unity时,角色控制真的是一个难点,尤其是动画方面。想要在Unity中控制好一个角色且让这个角色的动作协调,不是一个简单的问题,需要我们深入理解其原理。只有这样,我们才有能力写一套精湛的角色控制脚本。Unity里面的动画系统相当复杂(也许是我的程度不够吧),我们不要期望自己不用将Unity动画系统的一些原理搞清楚就能够写出一套很棒的角色控制脚本,这是很愚蠢的。仅仅只是角色移动就播放跑步的动画,角色停下来就播放站立的动画,具有这种想法的程序员应该注意一下了。

最近在做unity开发的时候,需要里面的物体角色自然的移动,在移动的过程中可以自由旋转方向移动,这里我们可以直接让物体一直向自己的前方移动,然后通过对物体的旋转来控制移动方向。

...展开

工具原料unity3d 5.3工具。

方法/步骤分步阅读

1

/8

打开unity3d场景创建一个立方体作为角色。

2

/8

接着给立方体添加刚体属性。

3

/8

创建一个Test2脚本。

4

/8

在脚本里面创建两个变量Speed_move、Speed_rot分别控制移动速度与旋转速度。

5

/8

我们使用Translate通过W与S按键控制立方体的前后移动,前进用forward,后退用back。

6

/8

使用Rotate通过A与D按键控制物体的旋转,up是Y轴方向

7

/8

然后我们把脚本放到立方体上面。

8

/8

运行游戏场景,按住W移动的时候,同时按住A或D就可以进行转向移动了。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11935758.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-19
下一篇 2023-05-19

发表评论

登录后才能评论

评论列表(0条)

保存