这是第一个游戏,目的是让大家了解整个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-->
相关推荐
unity3d第一人称射击游戏源码工程
UNITY 3d FPS游戏教程中文版,教会你如何使用unity3d制作一款FPS游戏
这是用unity 开发第一人称射击游戏,是根据教程做的,供初学者使用
第1章游戏历史与Unity发展概述 第2章Unity 界面与3D模型入门 第3章3D模型基础 第4章地形编辑器 第5章光源 第6章音频 第7章Unity脚本程序基础 第8章GUI 第9章3D模型与动画制作 第10章物理学模拟(初级) 第...
Unity 3D网络游戏实战 完整PDF扫描版,一本不错的网络游戏开发的书籍
unity做的第一人称射击游戏(免积分下载),虚拟现实期末大作业,以第一人称视角用枪打怪物,打包文件包含项目源代码,导出exe文件,游戏设计报告,适合初学者学习使用,详情请看我的文章介绍 。
Unity3D是由Unity Technologies开发的一个让玩家轻松创建诸如三维视频游戏、建筑可视化、实时三维动画等类型互动内容的多平台的综合型游戏开发工具,是一个全面整合的专业游戏引擎
第1 章 Hello Unity 3D 1 第2 章 Mono 所搭建的脚本核心基础22 第3 章 Unity 3D 脚本语言的类型系统58 第4 章 Unity 3D 中常用的数据结构99 第5 章 在Unity 3D 中使用泛型121 第6 章 在Unity 3D 中使用委托149 第7 ...
基于unity5.5新版本开发的unity实战教程,其中详细讲解一步一步做出一个完整的坦克大战游戏,还涉及TCP开发知识,框架搭设
《Unity3D\2D手机游戏开发(第2版)》以实例教学为主线,循序渐进地介绍了Unity在游戏开发方面的不同功能。第1章,由零开始,引导读者熟悉Unity编辑器的各个功能模块,这部分内容对Unity程序员、美工和策划都有帮助...
第2~4章是3个不同特色的3D游戏实例,让读者对Unity游戏开发有一个较全面的认识。第5章是一个2D游戏实例,多方面地介绍了Unity在2D游戏方面的应用。 第6章和第7章,重点介绍了Unity在网络方面的应用。 第8~10章介绍...
《我的Unity 3D之旅》博客配套美术资源
Unity3D/2D游戏开发从0到1分实战项目篇与开发理论篇。其中,开发理论篇,从初学者容易入门的角度分为上部分(1~14章)与下部分(15~29章)。上部分内容包括游戏历史与Unity发展概述、Unity界面与3D模型入门、Unity...
Requires Unity 4.3.2 or higher. FPS Handy Hands is a set of high quality first person hand models. Unity3D游戏角色人物模型FPS Handy Hands手掌背手臂模型资源素材
Unity3D手机游戏开发 配套光盘第一章的shooting game资源
游戏简介:使用Unity2018开发的一款RPG元素+塔防元素结合的3D游戏。 Unity版本: Unity 2018.3.7f1 (64-bit) 已更新到 2019.3.7f1 可运行平台:windows 游戏介绍 游戏类型:塔防+RPG的3D游戏 游戏要素:3D 塔防 ...
第1章主要介绍了Unity 3D的诞生、特点、开发环境的搭建及运行机制;第2章对Unity 3D集成开发环境进行了详细介绍;第3章介绍了Unity 3D中脚本的编写;第4章主要对Unity 3D开发过程中经常使用的组件及对象进行了详细...
本书以实例教学为主线,循序渐进地... 第2~4章是3个不同特色的3D游戏实例,让读者对Unity游戏开发有一个较全面的认识。第5章是一个2D游戏实例,多方面地介绍了Unity在2D游戏方面的应用。 第6章和第7章,重点介绍了Unity
包含一个较为完整的UNITY第一人称射击游戏的教程,及其使用到的素材包,含角色武器模型。 《我的Unity 3D之旅》博客配套美术资源
Unity3D是由Unity Technologies开发的一个让玩家轻松创建诸如三维视频游戏、建筑可视化、实时三维动画等类型互动内容的多平台的综合型游戏开发工具,是一个全面整合的专业游戏引擎。 Unity3D的PC插件安装量达到2 亿...