unity3d游戏开发之脚本实现模型的平移与旋转

上传人:pu****.1 文档编号:473326353 上传时间:2023-12-20 格式:DOC 页数:9 大小:329.05KB
返回 下载 相关 举报
unity3d游戏开发之脚本实现模型的平移与旋转_第1页
第1页 / 共9页
unity3d游戏开发之脚本实现模型的平移与旋转_第2页
第2页 / 共9页
unity3d游戏开发之脚本实现模型的平移与旋转_第3页
第3页 / 共9页
unity3d游戏开发之脚本实现模型的平移与旋转_第4页
第4页 / 共9页
unity3d游戏开发之脚本实现模型的平移与旋转_第5页
第5页 / 共9页
点击查看更多>>
资源描述

《unity3d游戏开发之脚本实现模型的平移与旋转》由会员分享,可在线阅读,更多相关《unity3d游戏开发之脚本实现模型的平移与旋转(9页珍藏版)》请在金锄头文库上搜索。

1、 这一章MOMO带大家讨论一下unity3D中使用的脚本,脚本的最大特点就是用少量的代码实现繁多的功能,避免大量的代码。Untiy3D这一块可以使用脚本做很多东西,那么我们开始学习脚本吧。 出自狗刨学习网 脚本描述 Scripting inside Unity consists of attaching custom script objects called behaviours to game objects. Different functions inside the script objects are called on certain events. The most used

2、ones being the following: Update: This function is called before rendering a frame. This is where most game behaviour code goes, except physics code. FixedUpdate: This function is called once every physics time step. This is the place to do physics-based game behaviour. Code outside any function: Co

3、de outside functions is run when the object is loaded. This can be used to initialise the state of the script. Note: Sections of this document assume you are using Javascript, but see Writing scripts in C# & Boo for information about how to use C# or Boo scripts. 大概意思是介绍三个重要的脚本函数 Update:这个函数在渲染帧之前被调

4、用,大部分的游戏行为代码都在这里执行,除 物理代码。 FixedUpdate:这个函数在每进行一次物理时间步调时被调用,它是基于物理的游戏行为。 Code outside any function:这类函数在对象加载时被调用,它可以用来脚本的初始化工作。 本章我们着重讨论Update 这个函数,创建脚本与绑定脚本的方法在第二章中已经介绍过了不会的盆友请去那里阅读。虽然官方推荐脚本使用JavaScript编辑,但是其实C更符合Unity3D的编程思想,推荐新人先使用JavaScript,然后在学习C,因为JavaScript更容易上手一些。 Unity3D研究院之脚本实现模型的平移与旋转(六)

5、- 雨松MOMO程序研究院 - 1 在三维世界中创建两个矩形,然后在添加两个脚本分别绑定在这两个箱子上,脚本的名称暂时命名为 js0 、js1。 在Project 页面中打开刚刚创建的js0,发现Unity3D 已经将Update 函数添加在脚本中了。 模型的移动 Translate方法中的三个参数分别标示,模型在三维世界中X 、Y、Z 轴移动的单位距离。1. function Update () /模型x轴,移动一个单位 transform.Translate(1,0,0); /模型y轴,移动一个单位 transform.Translate(0,1,0); /模型z轴,移动一个单位 tran

6、sform.Translate(0,0,1); 2. function Update () 3.4. /模型x轴,移动一个单位/size size=35. transform.Translate(1,0,0);6.7. /模型y轴,移动一个单位/size size=38. transform.Translate(0,1,0);9.10. /模型z轴,移动一个单位/size size=311. transform.Translate(0,0,1);12.13. 复制代码 执行代码发现参数为1速度居然移动的着么快,怎么能修改移动的速度呢? Time.deltaTime:标示上一次调用Update一

7、秒为标示每帧执行所消耗的时间。 有了这个参数,我们就可以根据它修改方向移动的速度了。1. function Update () /设置移动的范围 var translation : float = Time.deltaTime * 10; /移动的方向 transform.Translate (translation, 0, 0); transform.Translate (0, translation, 0); transform.Translate (0, 0, translation); 2. 3. function Update () 4.5. /size size=3 /设置移动的范

8、围6. var translation : float = Time.deltaTime * 10;7.8. /size size=3 /移动的方向9. transform.Translate (translation, 0, 0);10. transform.Translate (0, translation, 0);11. transform.Translate (0, 0, translation);12.13. 复制代码 模型的平移可以选择一个参照物,下面代码第二个参数设置模型移动参照物,这里设置成摄像机。那么模型将以相对与摄像机进行移动。1. function Update () /

9、设置移动范围 var translation : float = Time.deltaTime * 10; /相对于摄像机,模型向右移动。 transform.Translate(Vector3.right * translation, Camera.main.transform); / 相对于摄像机,模型向上移动。 transform.Translate(Vector3.up * translation, Camera.main.transform); / 相对于摄像机,模型向左移动。 transform.Translate(Vector3.left * translation, Camer

10、a.main.transform); /size size=32. 3. function Update () 4.5. /size size=3 /设置移动范围6. var translation : float = Time.deltaTime * 10;7.8. /size size=3 /相对于摄像机,模型向右移动。9. transform.Translate(Vector3.right * translation, Camera.main.transform);10.11. /size size=3 / 相对于摄像机,模型向上移动。12. transform.Translate(Ve

11、ctor3.up * translation, Camera.main.transform);13.14. /size size=3 / 相对于摄像机,模型向左移动。15. transform.Translate(Vector3.left * translation, Camera.main.transform);16.17. /size size=3 复制代码 模型的旋转1. Rotate方法中的三个参数分别标示,模型在三维世界中X 、Y、Z 轴旋转的单位距离。2.3.4. function Update () /以模型X轴旋转,单位为2. transform.Rotate(2, 0, 0)

12、; /以模型Y轴旋转,单位为2. transform.Rotate(0, 2, 0); /以模型Z轴旋转,单位为2. transform.Rotate(0, 0, 2); /size size=35. 6. function Update () 7.8. /size size=3 /以模型X轴旋转,单位为2.9. transform.Rotate(2, 0, 0);10.11. /size size=3 /以模型Y轴旋转,单位为2.12. transform.Rotate(0, 2, 0);13.14. /size size=3 /以模型Z轴旋转,单位为2.15. transform.Rota

13、te(0, 0, 2);16. 复制代码 模型的旋转可以选择一个参照物,下面代码第二个参数设置模型移动参照物,这里设置成3D世界。那么模型将以相对与整个3D世界进行旋转。1. function Update () /设置旋转的范围 var rotate : float = Time.deltaTime * 100; /旋转的方向 /相对于世界坐标中心向右旋转物体 transform.Rotate(Vector3.right * rotate, Space.World); /相对于世界坐标中心向上旋转物体 transform.Rotate(Vector3.up * rotate, Space.W

14、orld); /相对于世界坐标中心向左旋转物体 transform.Rotate(Vector3.left * rotate, Space.World); 2.3. function Update () 4.5. /size size=3 /设置旋转的范围6. var rotate : float = Time.deltaTime * 100;7.8. /size size=3 /旋转的方向9.10. /size size=3 /相对于世界坐标中心向右旋转物体11. transform.Rotate(Vector3.right * rotate, Space.World);12.13. /size size=3 /相对于世界坐标中心向上旋转物体14. transform.Rotate(Vector3.up * rotate, Space.World);15.16. /size

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号