一、创建Unity项目
打开Unity游戏编辑器界面,在导航菜单栏中选择File ---> New Project菜单项,在弹出界面中选择Create new Project页面,将项目名命名为MobilityModel,然后再点击Create Project,完成项目的创建。
然后点击保存(Ctrl+S)保存场景。
二、构建模型
在Hierarchy视图中分别创建游戏对象Plane(面板)、Cube(立方体)、Sphere(球体)、Cylinder(圆柱体)、Capsule(胶囊体),然后鼠标拖动创建的游戏对象将他们摆放在合适的位置。
接下来在游戏中添加一个光源,在Hierarchy视图中选择Create--->Directional light菜单项,光源是游戏中非常重要的一个属性,一定要在游戏场景中设置它,如果不设置光源对象,Game视图会非常暗,严重影响游戏的效果。
三、添加脚本
在Project视图中点击Create--->JavaScript菜单项创建一个游戏脚本,将其命名为MobilityModelScript.js,在脚本上编写如下代码:
//模型移动速度 var TranslateSpeed = 10; //模型旋转速度 var RotateSpeed = 1000; //绘制UI界面 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.Translate(Vector3.forward * Time.deltaTime * TranslateSpeed); } if(GUI.Button(Rect(170,10,70,30),"向右旋转")){ //向右旋转 transform.Rotate(Vector3.up * Time.deltaTime * RotateSpeed); } if(GUI.Button(Rect(90,50,70,30),"向后移动")){ //向后移动 transform.Translate(Vector3.forward * Time.deltaTime * (-TranslateSpeed)); } if(GUI.Button(Rect(10,50,70,30),"向左移动")){ //向左移动 transform.Translate(Vector3.right * Time.deltaTime * (-TranslateSpeed)); } if(GUI.Button(Rect(10,50,70,30),"向右移动")){ //向右移动 transform.Translate(Vector3.right * Time.deltaTime * TranslateSpeed); } //显示模型位置信息 GUI.Label(Rect(250,10,200,30),"模型位置"+transform.position); //显示模型旋转信息 GUI.Label(Rect(250,50,200,30),"模型旋转"+transform.rotation); }
上述代码中重要方法和属性如下:
OnGUI()方法用来绘制GUI界面组件。
GUI.Button():设置一个按钮,返回true时表示该按钮被按下。
GUI.Label():设置一个文本框。
transform:为当前绑定模型的变换对象。
transform.Rotate():设置模型旋转。
transform.Translate():设置模型平移。
Time.deltaTime:该数值为一个只读属性,不可修改,表示完成最后一帧的事件,单位为秒。
Vector3:标志一个模型移动或者旋转的方法。
Rect:规定一个矩形区域,用于显示控件。
将编写好的脚本对象,将其从Project视图拖拽到Hierarchy视图中的立方体(Cube)对象上,如果没有提示错误,表示脚本绑定成功,运行游戏后该游戏对象将执行该脚本中的内容。
目前立方体对象与其他模型对象之间是不存在碰撞的,但是运行游戏后,可以控制立方体(Cube)直接穿越另一个模型对象。为了让模型对象之间具有物理的碰撞,需要给模型对象添加一个刚体(Rigidbody)属性,添加方式:首先在Hierarchy视图中选中立方体对象,在Uinty导航菜单栏中选择Component --> Physics
-->Rigidbody菜单项即可。
四、测试运行
点击运行按钮就能看到结果,可以点击显示的六个按钮对象,可以移动Cube(立方体)的位置和旋转。
相关推荐
我们要控制角色的移动,可以全部细节都由自己来实现。控制角色模型的移动,同时移动摄影机,改变视角。当然Unity也提供了一些组件,可以让我们做更少的工作,实现我们所期望的... 第一人称 第三人称 控制角色就如此简单
这是 unity3d 的一个示例项目。项目中有两个场景 第一场景 这是控球的示例场景。控制球在围栏中移动,您可以找到键盘控制的示例代码。 汽车场景 这个场景包含一个可控的汽车模型和一些制图模型。您可以控制汽车...
第1课:课程介绍与Unity3D环境搭建.mp4 第2课:游戏场景基本操作.mp4 第3课:游戏场景制作3D模型.mp4 第4课:3D模型美化之材质球.mp4 第5课:3D模型重用之预制体.mp4 第6课:基本组件之摄像机.mp4 第7课:基本组件之...
基于Unity3D多平台网络斗地主的设计与实现毕业设计 目录 前言 1 第1章 概述 2 1.1 系统开发背景 2 1.2 设计的目的 3 1.3 设计的意义 3 第2章 开发环境及相关技术介绍 4 2.1 开发环境介绍 4 2.1.1 Unity3D简介 4 ...
第一个被执行的Pass,包括渲染路径和Pass的LightMode标签;VertexLit渲染路径,包括顶点照明和Unity存放光源的方式;Forward渲染路径;基于光照贴图的烘焙照明;基于LightProbes的照明;平面阴影;球体阴影;体积...
支持Unity3d 2020.3.37或更高 代码: - 玩家控制(鼠标、移动触摸、键盘和游戏手柄)。 -自上而下、第三人称或第一人称 -库存系统 -制作系统 - 装备(附属于角色) -资源采集 - 角色属性(健康、能量……) -农业...
unity3D孤胆枪手手游完整源码 unity孤胆枪手手游完整源码,这是一个手机平台第一人称射击游戏,支持移动设备,包含武器系统、雷达系统、粒子特效、敌人AI、敌人产生系统、3D模型动画、触摸屏控制。
3D平衡球是我们小时候玩的一款经典游戏,再加上最近在b站刷到了大佬玩平衡球的视频,我们小组决定用c#和unity实现这款游戏,也作为我们用unity实现的第一个项目。 1.在主菜单界面可以选择不同的关卡进行挑战,同时...
Unity3D 第一人称、第三人称、漫游视角 人物控制器. 模型使用官方的模型,操作是使用鼠标右键控制视角转换,键盘WASD、Shift控制人物的移动.
第一人称叙事冒险+完整的解谜游戏项目 模版可用于创建叙事性冒险,并配合一个强大的来创建解谜(脚本、3D模型和音效)。 包括演示场景(1 个迷你冒险) 您可以在资产中找到的功能: 完整的谜题系统: 7 种谜题:管道...
言第1章 漫反射着色1.1 引言1.2 创建基本的表面着色器1.2.1 准备工作1.2.2 如何操作1.2.3 实现原理1.2.4 参考1.3 为表面着色器添加属性1.3.1 如何操作1.3.2 如何操作1.3.3 参考1.4 在表面着色器中使用...
可以用于第一人称射击生存/冒险游戏。 这些资源可以轻松地导入到Unity或开源游戏引擎Superpowers中。 3D模型规格 几何形状: 多边形 贴图:是 材料:是 UV映射:是 展开的UV:是 纹理格式:PNG 纹理层按组织:是 ...
经典的DT教程中的第七章人物移动的相关项目源码。基本包含了一个FPS游戏的开始阶段的模型和射击操作的关键代码。
SVRRF Unity插件Svrf的API可让您使用第一个也是最大的搜索引擎为您的项目或应用程序增添更多的沉浸式体验。 我们使任何开发人员都能轻松地将高度身临其境的体验与各种应用程序融合在一起:虚拟现实,增强现实,混合...
unity3d仿真 汽车移动 本项目主要完成如下设计内容: (1)界面设计、裂缝延伸和地形建模 (2)注水模拟 (3)煤层气气体产生模拟 本人主要完成第(2)项设计内容。
其他资源和依赖项戚亚伦设计的角色模型和世界海盗的声音由亚伦奇镜像网络( ) 声音来自: 控制项W / A / S / D-移动播放器(前/左/后/右) 左移-按住即可运行Q-删除当前选择的项目E-显示库存和浏览项目(选项卡/ ...
第1 课: GUIText 或者 GUITexture 组件 第2课:游戏场景基本操作 第3课: 变量与基本数据类型 第3课: 特效组件之 TrailRenderer 第3课: 制作 3D模型 第4课: 3D模型--美化-材质球 第4课: 特效组件--...