这是第一个游戏,目的是让大家了解整个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-->
相关推荐
c#游戏开发基于unity3d的回合制RPG游戏源码.zipc#游戏开发基于unity3d的回合制RPG游戏源码.zipc#游戏开发基于unity3d的回合制RPG游戏源码.zipc#游戏开发基于unity3d的回合制RPG游戏源码.zipc#游戏开发基于unity3d的...
总的来说,这个Unity3D第一人称射击游戏项目不仅为初学者提供了实践平台,还涵盖了游戏开发的多个关键领域,包括编程、VR技术、游戏设计理论和资源管理。通过实际操作和学习,开发者能够快速提升自己的技能,为未来...
《Unity3D游戏开发 第二版》是一本深入讲解Unity3D引擎的权威教程,针对游戏开发者和爱好者提供了全面而详尽的知识体系。随着游戏行业的快速发展,Unity3D因其强大的功能、易用性和跨平台特性,已成为全球最受欢迎的...
《Unity3D游戏开发》可能出自宣雨松之手,这可能是一本更全面的教程,涵盖了从基础到高级的游戏开发流程。这可能包括了Unity的基础操作,如场景构建、对象创建、脚本编写(C#语言),以及更复杂的技术,如光照、动画...
在现代游戏开发领域,Unity3D作为一款强大的游戏引擎,备受游戏开发者的青睐,尤其在移动平台游戏开发中占据着重要地位。Unity3D以其易用性和高效性,支持多种类型游戏的开发,包括多人在线角色扮演游戏(MMORPG)、...
书中还介绍了持久化数据、音频与视频播放等内容,并以一款第一人称射击类游戏为原型,详细介绍了游戏制作的整个过程。 对于想要快速入门Unity3D游戏开发的读者来说,本书是他们的首选。它适合那些已经具备一些...
unity3d第一人称射击游戏源码工程
UNITY 3d FPS游戏教程中文版,教会你如何使用unity3d制作一款FPS游戏
1. **摄像机设置**:Unity的第一人称控制器通常包含一个主摄像机,它跟随玩家角色移动并提供游戏视角。我们可以通过调整摄像机的位置和角度来实现第一人称视图。 2. **角色控制器**:这是一个特殊的脚本,负责处理...
《Unity3D网络游戏实战游戏开发与设计技术丛书》是一本专为学习Unity3D和Lua编程语言的游戏开发者准备的教材。Unity3D是一款强大的跨平台游戏引擎,它被广泛应用于制作2D、3D游戏,虚拟现实(VR)、增强现实(AR)...
Unity3D是一款由丹麦Unity Technologies公司开发的全面支持多平台的游戏开发引擎,支持Windows、Mac、iOS、Android、Wii、PS3等众多平台,具备跨平台开发的特性。该引擎以其高度优化的图形渲染管道、强大的跨平台...
首先,Unity3D是一个强大的跨平台游戏开发引擎,它支持2D和3D游戏制作,广泛应用于手机游戏、桌面游戏以及网页游戏等领域。Unity5.5版本引入了许多新特性,包括优化的图形渲染、增强的音频处理和更完善的物理引擎等...
这个名为“PPT_Unity 3D游戏开发(第2版).zip”的压缩包包含了一系列关于Unity 3D游戏开发的PPT教程,可能是某个课程或工作坊的教学材料。以下是基于提供的文件名推测的各个章节内容: 1. **第1章:Unity入门** ...
在这个"unity3D期末作业 开车游戏"中,我们可以推测这是一个学生用Unity3D制作的驾驶模拟游戏,可能是为了展示他们在游戏开发课程中的学习成果。以下是关于Unity3D开发开车游戏时涉及的一些核心知识点: 1. **场景...
本资源"Unity 3D斗地主游戏源码.zip"包含了一个使用Unity 3D构建的斗地主游戏的完整源代码和相关资源,非常适合学习游戏开发或对斗地主游戏编程感兴趣的开发者。 "单机斗地主源码UGUI.rar"是源代码的主要部分,使用...
在Unity 3D中开发一款第一人称射击游戏是一项复杂且充满挑战的任务,涉及到许多不同的技术领域。在《我的Unity 3D之旅》博客中,作者可能会分享一系列关于如何构建这样游戏的步骤和技巧。美术资源是游戏制作的重要...
在这个特定的项目中,我们关注的是一个使用Unity3D构建的多人联机赛车游戏的完整源码。这个源码是用C#语言编写的,C#是Unity引擎的主要编程语言,它提供了丰富的类库和功能,便于游戏逻辑的实现。 首先,让我们深入...
本篇文章将详细解析“Boxing Game Starter Kit”这个拳击游戏项目包,帮助开发者了解如何在Unity3D中构建一个完整的拳击游戏。 一、项目概述 "Boxing Game Starter Kit" 是一套专为Unity3D设计的拳击游戏基础框架,...
第2~4章是3个不同特色的3D游戏实例,让读者对Unity游戏开发有一个较全面的认识。第5章是一个2D游戏实例,多方面地介绍了Unity在2D游戏方面的应用。 第6章和第7章,重点介绍了Unity在网络方面的应用。 第8~10章介绍...