Unity 3D之第一个游戏
来源:互联网 发布:pe数据恢复 编辑:程序博客网 时间:2024/06/05 00:53
这是第一个游戏,目的是让大家了解整个Unity3D游戏开发过程。下面我们开始操作:
1.创建一个Unity 3D项目
选择菜单栏中的“File --> New Project”菜单项,然后在弹出界面中选择“Create new Project”页面,将项目名字命名为“Synthesize Example”,再点击“Create Project”完成项目的建立。
视图如下:
2.构建3D游戏世界中的基本模型
在Hierarchy视图中分别创建游戏对象模型:平面(Plane)、立方体(Cube)、球体(Sphere)、圆柱体(Cylinder)和胶囊体(Capsule),然后使用变换工具栏将它们摆放在合适的位置。
然后选择“Create --> Directional light”菜单项。完成3D
游戏世界中游戏对象模型的构建,视图如下:
3.使用脚本控制游戏对象模型的移动与旋转
在“Project”视图中点击“Create --> JavaScript”菜单项来创建一条游戏脚本,将其命名为Synthesize Example.js,在该脚本中编写一段代码,代码如下:
- #pragma strict
- //游戏对象模型移动速度
- var TranslateSpeed = 20;
- //游戏对象模型旋转速度
- var RotateSpeed = 1000;
- //绘制GUI界面
- function OnGUI () {
- //设置GUI背景色
- GUI.backgroundColor = Color.red;
- if(GUI.Button(Rect(10,10,70,30),"向左旋转")){
- //游戏对象模型向左旋转
- transform.Rotate(Vector3.up * Time.deltaTime * (-RotateSpeed));
- }
- if(GUI.Button(Rect(90,10,70,30),"向右旋转")){
- //游戏对象模型向右旋转
- transform.Rotate(Vector3.up * Time.deltaTime * RotateSpeed);
- }
- if(GUI.Button(Rect(10,50,70,30),"向前移动")){
- //游戏对象模型向前移动
- transform.Translate(Vector3.forward * Time.deltaTime * TranslateSpeed);
- }
- if(GUI.Button(Rect(90,50,70,30),"向后移动")){
- //游戏对象模型向后移动
- transform.Translate(Vector3.forward * Time.deltaTime * (-TranslateSpeed));
- }
- if(GUI.Button(Rect(10,90,70,30),"向左移动")){
- //游戏对象模型向左移动
- transform.Translate(Vector3.left * Time.deltaTime * TranslateSpeed);
- }
- if(GUI.Button(Rect(90,90,70,30),"向右移动")){
- //游戏对象模型向右移动
- transform.Translate(Vector3.right * Time.deltaTime * TranslateSpeed);
- }
- //显示游戏对象模型的位置信息
- GUI.Label(Rect(170,10,200,30),"游戏对象模型的位置:"+transform.position);
- //显示游戏对象模型旋转的信息
- GUI.Label(Rect(170,500,200,30),"游戏对象模型的旋转:"+transform.rotation);
- }
上述代码中涉及的方法和属性如下所示:
1.1 OnGUI():此方法用于绘制GUI界面组件。
1.2 GUI.Button():此方法设置一个按钮,返回true时表示该按钮被按下,执行if中的语句
1.3 GUI.Label():此方法设置一个文本标签。
1.4 transform:为当前绑定游戏对象模型的变换对象。
1.5 transform.Rotate():设置游戏对象模型旋转的方法。
1.6 transform.Translate():设置游戏对象模型平移的方法。
1.7 Time.deltaTime:该数值为一个只读属性,不可修改,表示完成最后一帧的时间,单位为秒
1.8 Vector3:标志一个游戏对象模型移动或旋转的方向。
1.9 Rect:规定一个矩形区域,用于显示控件。
将上述脚本对象绑定到立方体(Cube)游戏对象上。
4.给游戏对象模型添加刚体
在未给游戏对象添加刚体之前,立方体(Cube)游戏对象与其他的游戏对象之间发生碰撞时,不会产生碰撞效果,而是直接穿过另外的游戏对象。如果想让游戏对象模型之间具有物体的碰撞,需要给游戏对象模型添加一个刚体(Rigidbody)属性。添加方法很简单,首先在Hierarchy视图中选中立方体(Cube),在Unity导航菜单栏中选择“Component --> Physics --> Rigidbody”菜单项即可。
<!--EndFragment-->
刚体与Unity物理引擎是紧密结合的;我们给游戏对象模型添加刚体后,那么该游戏对象模型就拥有了游戏物理引擎,使其可以感应物理的碰撞效果。
运行游戏后的界面如下所示:
<!--EndFragment-->
<!--EndFragment-->
- Unity 3D之第一个游戏
- Unity 3D之第一个游戏
- 3D游戏编程-第一个游戏
- android+unity游戏开发之我们第一个脚本
- Unity 3d Shader实践 —— 第一个Shader
- 3D游戏引擎学习一(创建第一个项目)
- Unity 2D游戏开发教程之为游戏场景添加多个地面
- 3d游戏框架(第一个3d游戏实例)上
- 3d游戏框架(第一个3d游戏实例)中
- 3d游戏框架(第一个3d游戏实例)下
- Unity 3D 第一更
- unity,第一个游戏(三,游戏后期美化)
- Unity游戏引擎挖坑记之3d游戏ui屏幕适配方案(二)
- Unity游戏引擎挖坑记之3d游戏2d显示管理(血条、飘血)(一)
- Unity 3D 做FPS游戏
- Unity 3D网页游戏 Demo 展示
- 《Unity 3D游戏开发》源代码
- Unity 3D游戏开发工具
- 使用ab进行压力测试
- java事件机制
- W7 32 IIS 数据库连接出错,请检查连接字串
- oh my zsh
- SpringMvc 两种上传。
- Unity 3D之第一个游戏
- 2012年5月SAT香港真题解析
- 杂谈IT界,分析信息安全前沿技术
- 获取客户端IP地址[转]
- jQuery插件开发精品教程,让你的jQuery提升一个台阶
- 生理周期
- 用Ogre渲染PhysX Cloth的实现方法(附源代码下载)
- IE条件注释 解决浏览器兼容问题
- Struts2实现文件上传和下载