unity移动中方向改变过渡动作

unity移动中方向改变过渡动作,第1张

最近在做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就可以进行转向移动了。

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轴向旋转。

1、打开unity3D软件,点击create创建一个新的javascript的脚本,初始内容如图所示

实现左右旋转

在update函数中输入下列代码:

if(Input.GetKey(KeyCode.Q)){

transform.Rotate(0,-25*Time.deltaTime,0,Space.Self)

}

if(Input.GetKey(KeyCode.E)){

transform.Rotate(0,25*Time.deltaTime,0,Space.Self)

}

如图所示!

接下来我们要实现的是上下的旋转

Update函数代码如下:

if(Input.GetKey(KeyCode.Z)){

transform.Rotate(-25*Time.deltaTime,0,0,Space.Self)

}

if(Input.GetKey(KeyCode.C)){

transform.Rotate(25*Time.deltaTime,0,0,Space.Self)

}

加上刚才的左右旋转,代码应该是如图所示!

将代码保存,查看提示栏中是否有错误提示,如果没有则代码可以执行,如果不可以,请查看参照上述步骤检查错误

注意:U3D的代码区分大小写

将脚本文件附加在物体上,检测是否出现错误。图片中附加的脚本叫“test_01”然后按下测试键运行,如果可以实现,代码成功。


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

原文地址:https://54852.com/bake/11542420.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存