【Unity3D入门教程】Unity3D界面介绍及游戏对象基本操作-程序员宅基地

技术标签: 操作系统  游戏  移动开发  

1 界面介绍

在Windows等图形化操作系统上,熟练地使用菜单、图标、快捷键等,将会极大提升工作效率。因此,要认识一个软件,学会熟练使用他们,就必须先认识软件的界面。

先点击菜单栏的Window——Layouts——2by3,设置成如下的界面,方便我们了解各个窗口。


如下图所示,我们将各个区域分割出来,成为7个模块,逐一介绍主要的功能。这七个菜单分别是导航菜单栏、工具栏、场景视图、游戏视图、层次视图、项目视图、监测视图。


(1)导航菜单栏

Ÿ   File——场景的创建和保存、工程的创建和保存、程序的打包发布等等。

Ÿ   Edit——包含一些复制、粘贴、删除、查找等基本编辑操作,还包含软件偏好设置(Preferences)和工程设置(Project Settings)等等。其中最常用的应该是偏好设置了。打开Preferences——External Tools,看到下面的视图。可以设置External Script Editor为自己喜欢的编辑器(例如,我就把内置的MonoDevelop改为了VisualStudio 2013了)。如果你需要发布程序到Android手机,那么你需要安装相应的模块,可以看到图中有Android设置。由于我已经安装了JDK和Android SDK,所以只需要将路径设置好就行了。对初学者来说,这还是有些复杂的,感兴趣可以找“Unity3D发布Android教程”来看看。当然,如果我们在学习初期只用到发布PC端程序,这些设置可以不用管它,保持系统默认就行了。


Ÿ   Assets——创建、导入、导出素材等功能,一般情况下,Unity3D的外部插件都会通过导入unitypackage的方式来完成。

Ÿ   GameObject——创建游戏对象以及一些对象属性的设置。

Ÿ   Component——为游戏对象添加各种组件等。组件可以理解为一个个的小功能,对于一个游戏对象,如果添加了某个组件,它就具备了某种属性或者功能。

Ÿ   Window——顾名思义,它是对界面的一些设置。

Ÿ   Help——可以获取一些在线的帮助。

 

(2)工具栏

工具栏可以对放置于场景中的对象进行操作,如旋转、平移、缩放等。工具栏中间是游戏运行、暂停、按帧运行按钮。工具栏右侧是账户、显示层设置、窗口布局等。

(3)场景视图

场景视图是我们所创建和操作的空间。任何游戏物体都存在于场景中。场景视图是为我们开发者提供便利所设置的,我们可以从各个角度去观看游戏对象设置是否达到预期。场景视图中有很多可以设置的选项,例如2D-3D显示切换、灯光开关等。用到的时候再讨论即可。

(4)游戏视图

游戏视图是我们最终程序运行时所显示的画面,也是直接为用户呈现的画面。在我们开发过程中,它显示的是位于最高层级的camera所拍摄到的场景。

(5)层次视图

场景中的任何对象,名称都会显示在这个区域,这里可以清楚看出各个物体之间的联系,是分立关系还是父子关系(父物体可以影响子物体的运动)。也可以方便我们索引到场景中的任何对象。

(6)项目视图

资源文件在这里保存。我们也可以直接拖拽一些外部的资源(如图片等)到该区域中。这些资源文件都是保存在本地磁盘上的。

(7)监测视图

当选中某个游戏对象时,监测视图会显示它的组件,比如Transform等。


2 游戏对象基本操作

创建工程并创建场景后,我们就可以开始游戏开发了。不论你是不是要做一款游戏,我们姑且都叫做游戏开发吧。本质都是一样的。

默认情况下,场景中已经有MainCamera和Directional Light等对象。我们现在以一个Cube为例来学习旋转、平移、缩放等基本操作。点击Hierarchy——Create——3D Object——Cube,就能创建一个立方体。

当我们在场景视图中选中立方体,按下W,场景中的立方体就会如下所示。使用鼠标拖动这些带颜色的箭头就可以控制它的位置了。


按下E,并拖动带颜色的圆环,可以控制物体旋转。


按下R,拖动带颜色的方块,可以控制缩放。


当然,在Inspector视图中还可以看到该立方体的Transform组件,设置Position、Rotation、Scale等值也可以改变立方体的位置、姿态和尺度。我们还看到立方体带有BoxCollider和MeshRenderer组件,后面都会讲到的。





转载于:https://www.cnblogs.com/yanhuiqingkong/p/7770070.html

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_34038293/article/details/93772831

智能推荐

Ftp实现文件的上传下载(commons-net依赖)(解决ftp上传下载文件乱码)-程序员宅基地

文章浏览阅读3.9k次。首先我们引入commons-net依赖,这是个基于Socket的ftp依赖,API在http://commons.apache.org/proper/commons-net/apidocs/index.html <dependency> <groupId>commons-net</groupId> <artifactId>commons-net</artifactId> <version>3.5</versi_commons-net依赖

简单的神经网络提高精度的方法(学习心得)——MNIST手写数字集_怎么提高卷积神经网络的准确率-程序员宅基地

文章浏览阅读1w次。初始的代码//载入数据集//one_hot 转化数据某一位是1 其他位为0mnist =input_data.read_data_sets(&amp;amp;amp;quot;D:\Python\MNIST_data&amp;amp;amp;quot;,one_hot=True)//每个批次的大小 以矩阵形式一次性放入200张到神经网络中去 batch_size=200 //计算一共有多少个批次=总量/批次 n_batch=mnist.train...._怎么提高卷积神经网络的准确率

vue-重写localStorage.setItem方法以监听变动,实时更新_如何重写window的localstorage方法-程序员宅基地

文章浏览阅读1.7w次,点赞7次,收藏31次。解决本地存储的值改变的时候js不能实时监听到的问题问题描述:我们在js里面获取了某一个localstorage的值,但是后期它可能改变了,我们js只执行一遍没办法再次获取它的值,当然可以刷新页面获取,但如果是我们的但页面就不能刷新页面了,此时: 我们可以重写localStorage的setItem方法,当调用setItem方法设置新值的时候,会new Event('setItemEvent'..._如何重写window的localstorage方法

魔兽世界诞生记(上)-程序员宅基地

文章浏览阅读927次。我们这家公司之所以成功,就是因为我们开发什么游戏不是由商人决定的,而是由开发人员决定的。——前暴雪首席设计师,暴雪游戏开发副总裁Rob Pardo一、夭折的Nomad1998年11月30日,由Rob Pardo和Shane Dabiri领导开发的的《星际争霸》的第一部资料片《星际争霸:母巢之战》正式在北美上市,暴雪总部也开始为下一部作品做规划。此时暴雪北方正在David Brevik和Schaefer兄弟的带领下进行《暗黑破坏神II》的开发工作,暴雪总部于是决定以魔兽争霸系列为题材进行开发,._魔兽世界诞生记

支付宝技术风险负责人陈亮:把事情做到极致,技术的差异性才会体现出来_支付宝研发人是谁-程序员宅基地

文章浏览阅读4.4k次,点赞7次,收藏18次。“很多事情,说出来很多人都在做,但是只有真正做到极致,技术的差异性才会体现出来”,蚂蚁金服技术风险部研究员陈亮(花名:俊义)在接受 InfoQ 采访时如上说道。在最近支付宝技术嘉年华期间,InfoQ 对支付宝数次技术架构升级的见证者及主导架构师陈亮进行了独家采访,首次系统了解稳定支撑“双十一”等多次实战背后的支付宝技术风险体系。支付宝技术风险体系2007 年,陈亮加入支付宝,负责支付宝..._支付宝研发人是谁

100天精通Golang(基础入门篇)——第16天:深入解析Go语言包的使用和包管理-程序员宅基地

文章浏览阅读5.3w次。本文详细介绍了Go语言中包的使用和包管理的相关知识。包是组织和复用源码的基本单元,具有代码可见性。我们了解了main包、包的命名规则以及包的导入方式。同时,解释了包的初始化过程和使用外部包的方法。最后,我们介绍了GOPATH环境变量的作用和包的编译与安装。通过本文的学习,读者可以全面了解Go语言包的使用和管理,为后续的学习打下坚实的基础。在Go语言中,包的使用是非常重要的概念。它可以帮助我们组织和复用代码,提高开发效率。本文将深入介绍包的相关知识,并帮助读者理解包的作用和使用方法。

随便推点

Leetcode每日一练_given an array of integers nums and an integer tar-程序员宅基地

文章浏览阅读188次。leetcode题,每天刷一刷。当然更多的是抄袭原本答案,然后学习一下。网址:https://leetcode.com/problemset/all/?page=11.Two Sum (https://leetcode.com/problems/two-sum/)Given an array of integersnumsand an integertarget, returnindices of the two numbers such that they add up tota..._given an array of integers nums and an integer target, return indices of the

Matlab——通信原理小程序_求fsk信号功率谱-程序员宅基地

文章浏览阅读4.4k次,点赞5次,收藏52次。通信原理课上老师布置的作业AM,DSB,SSB信号的功率谱计算及其相干解调2ASK,2FSK,2PSK信号功率谱及这三种信号信噪比与误码率之间的关系_求fsk信号功率谱

Vue 使用el-table实现自适应列宽_vue表格宽度自适应-程序员宅基地

文章浏览阅读9.8k次,点赞6次,收藏26次。主要思路:每次获取分页表格数据时动态计算每列列宽我的需求是能实现自适应,且不出现横向滚动条,所以计算出来每列列宽后,把所有列宽加起来,得到total,然后用每列列宽除以total,就能得到每列列宽的长度百分比,比如用width=10%的方式去设置每列宽度,如果想展示完全每列内容,不介意出现横向滚动条,就直接用计算出来的列宽作为列的宽度就可以了,比如width=100以下是计算列宽的主要方法后台返回给我的数据格式就是这样的,field0代表第一列,field1代表第二列,以此类推…主要方法如下_vue表格宽度自适应

Spring整合junit-程序员宅基地

文章浏览阅读1.2k次。Spring整合junit

在shell 中 presto 执行sql 语句_shell脚本执行presto-程序员宅基地

文章浏览阅读2.8k次。presto 执行sql 文件:/opt/edw/clients_presto/presto-cli --server ${ip:port} --source ${bdp} --user ${user} -f ${sql文件}presto 执行sql 语句:/opt/edw/clients_presto/presto-cli --server ${ip:port} --source ${bdp} --user ${user} --execute ${sql语句}..._shell脚本执行presto

ssm-基于SSM的学生信息管理系统的设计与实现 毕业设计-附源码090858_ssm框架学生招生信息网需求列表-程序员宅基地

文章浏览阅读123次。本设计主要实现集人性化、高效率、便捷等优点于一身的学生信息管理系统设计,完成管理员:个人中心、课程名称管理、教师管理、课程信息管理、考试通知管理、学生成绩通知、公告信息管理;教师:个人中心、学生管理、课程信息管理、考试通知管理、学生成绩管理、公告信息管理;学生:个人中心、考试通知管理、学生成绩管理、公告信息管理等功能._ssm框架学生招生信息网需求列表