首页 理论教育 使用Unity脚本-快速添加多媒体技术

使用Unity脚本-快速添加多媒体技术

时间:2023-10-30 理论教育 版权反馈
【摘要】:在Unity中对物体的操作常常通过修改对象的变换属性和刚体属性参数实现。在“Project”视图中右键菜单选择“Create”→“C#Script”创建C#脚本,并命名为“CubeControl”。③将保存后的“CubeControl”通过鼠标拖动到“Hierarchy”视图中的“Cube”上进行脚本绑定。添加脚本为使小球运动,要给小球添加脚本文件。图8-40添加C#脚本③将Player脚本文件拖到Scripts文件夹中。其中Vector3是Unity提供的用来表示三维向量的类。

使用Unity脚本-快速添加多媒体技术

在Unity中对物体的操作常常通过修改对象的变换属性和刚体属性参数实现。而这些参数的修改可以通过脚本编程实现。

1.使用脚本实现物体的旋转

(1)添加立方体。新建项目“Cube_Pro”,然后在“Hierarchy”视图中单击鼠标右键,选择“3D Object”→“Cube”,在场景中添加一个立方体,放在了地平面的中心点(0,0,0)位置。

(2)光源。在Unity 3D中内置了四种形式的光源,分别为点光源(Point Light)、定向光源(Directional Light)、聚光灯光源(Spotlight)和区域光源(Area Light)。

点光源是一个可以向四周发射光线的一个点,类似灯泡

定向光源能够更好地模拟太阳。定向光源发出的光线都是平行的,并从无限远处投射光线到场景中,适用于户外的照明。

聚光灯光源的照明范围为一个椎体,类似于聚光灯发射出来的光线,并不会像点光源一样向四周发射光线。

区域光源是创建一片能够发光的矩形区域,只有在光照烘焙完成后才能看到效果。

若需要添加光源,可以点击菜单“GameObject”→“Light”来完成。现在可以看见,场景中有一个平行光“Directional Light”。

修改“Main Camera”的位置值为(0,1,-5)。

(3)添加脚本

①为使立方体旋转,需要为立方体对象添加脚本文件。在“Project”视图中右键菜单选择“Create”→“C#Script”创建C#脚本,并命名为“CubeControl”。

②双击“CubeControl”,打开Visual Studio编辑器,输入如下代码实现立方体的旋转,保存后,退出编辑器。

③将保存后的“CubeControl”通过鼠标拖动到“Hierarchy”视图中的“Cube”上进行脚本绑定。

④按“Play”按钮进行播放。立方体绕X轴每帧旋转2°。

⑤进一步修改“CubeControl”C#脚本,代码如下:

使得立方体可以通过按动键盘上的上、下、左、右键进行翻转。(www.xing528.com)

2.使用脚本实现物体的移动

(1)创建项目和场景。新建“Sphere_Pro”项目,然后在场景中创建一个平面“Ground”和一个小球“Player”,并将小球拖到地面上方。

(2)添加重力。在“Hierarchy”视图选择小球对象,在“Inspector”视图单击下面的“Add component”按钮,添加重力后,点击播放按钮,小球会从空中落下。

(3)添加脚本

为使小球运动,要给小球添加脚本文件。

①在“Project”视图选择“Create”→“Folder”创建文件夹“Scripts”,用于存储脚本文件。

②在“Hierarchy”视图选择小球对象“Player”,在“Inspector”视图单击最下面的“Add component”按钮,输入“Player”,选择“New Script”,语言选择C#,单击“Create and Add”按钮来创建脚本文件,如图8-40所示。

图8-40 添加C#脚本

③将Player脚本文件拖到Scripts文件夹中。

④双击Player脚本文件,打开Visual Studio编辑器。

⑤使小球沿X轴运动。为了使小球运动,需要先得到小球的刚体,并对刚体施加一个方向的力。首先,需要定义一个刚体对象“private Rigidbody rd;”,然后对小球刚体施加一个单位X轴方向的力,脚本如“rd.AddForce(new Vector3(1,0,0));”或“rd.AddForce(Vector3.right);”。其中Vector3是Unity提供的用来表示三维向量的类。

代码如下:

按“Play”按钮运行。可以看到,小球落下后向右运动。

⑥若要使用键盘按键控制小球的运动,则使用Unity键位输入“Input类”,先获得键盘输入,然后再通过输入控制小球的移动。代码如下:

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈