Unity学习笔记1:界面和对象

Posted 肥宝Fable

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Unity学习笔记1:界面和对象相关的知识,希望对你有一定的参考价值。

客户端的世界里,有非常多可视化的东西,很多东西是无法直接套用服务端的思维或者名词来理解的。而一些相差不多的地方,客户端和服务端也可能用完全不同的名词。刚接触的时候可能因为太多杂乱无章的新知识点而非常困难。这方面估计不必毫无基础的新人好多少。

====================一些概念======================

游戏客户端引擎

包括:渲染引擎、物理引擎、碰撞检测系统、音效、脚本引擎、动画系统、人工智能、网络引擎、以及场景管理。

Unity引擎基础

Unity环境搭建:安装没什么特别的地方,主要是破解,其实破解也没什么特别,就是如果被标记了IP,基本上没救了,只能充钱。

C#语言基础:据说跟C++差不多,估计话1小时看看语法特点就行了。

Unity API:这是基础类库吗?

物理引擎:有重力,碰撞等检测,有需要还可以加上质量,不知道还有没有其他东西

3D数学基础:这个可能有些地方会蛋疼

UGUI:这个是平时策划所说的UI吗?

Unity高级应用:

Unity高级组件

美术资源优化、美术规范

shader

FBX文件,美术的模型

====================Unity的一些概念和简单操作======================

Scene

场景,提供设计游戏的可视化面板。场景这个概念比较接近业务上的场景的意思。

从C++服务端的角度来看,有点像一个特定功能的容器,或者管理类,相关联的东西都放到这里去。

场景的文件是.unity结尾,可以看出场景应该是一个比较大块的存在,或者客户端的一个简单功能就放在一个场景里面了。没有用到的场景,即使丢失了也没关系?

下面是一个Unity的相关操作:

1、在菜单栏下面这个按钮选中状态下,是可以自由拖动场景的。

这个工具栏对应的快捷键依次是qwerty

2、通过鼠标滑轮滚动可以缩放场景。

3、按下鼠标右键的时候可以上下左右拖动调整视角

4、保持按鼠标的时候按键盘,W向前,S退后,A左移,D右移,Q向下,E向上。这些都是对视角进行平移。(这个算是开发者的摄像机吗?)

5、如果选中了场景的物件,按F键或者Hierarchy面板双击物件,会把场景移动,选中的物体为视图的中心。方便查看。

6、选中物体的时候,按住ALT键,可以通过鼠标左键拖动,围绕选中物体旋转场景,鼠标右键进行缩放场景。

7、顶点吸附:按V键,然后鼠标移动某个物体上面,如果移动到端点,可以出现小坐标按钮,这个时候鼠标左键点击,然后拖放到其他物体上面,可以实现顶点对齐。

坐标系切换

Pivot和Center改变对象的轴心点

Pivot使用物体本身的轴心

Center设置在物体的中心点

Global:世界坐标,Local自身坐标。

在Unity自带的几个物体发现这些参数是美术设定的,有可能没有设置,就无法使用,或者设置为一样,就没有区别。具体什么作用可能要等以后碰到在百度才能更好理解。

坐标

X红色、Y绿色、Z蓝色。Y是高度,跟服务端的2D地图的不存在的第三坐标Z对应。

世界坐标:整个场景的固定坐标,不随物体旋转而改变。(就是绝对坐标吧)

本地坐标:物体自身坐标,随旋转而改变(相对坐标)

视图

可以通过这个来调整视角,从不同轴方向来观察场景。

另外中间的白色小方块也是按钮来的,可以切换为透视模式和正交观察模式(不透视)

Transform:变换,意义上更接近位置,物体在场景中的位置、方向,另外还包含了缩放比例

Position:位置(默认为0)

Rotation:旋转(默认为0)

Scale:比例(默认为1)

就算是空物体,也有Transform

鼠标放到输入框上面,会出现左右移动的箭头(截图无法截到),左右拖动可以调整数值,不过比较粗糙,精确的话估计还是得手填数值。

播放控件

从左到右依次是:预览游戏(看来真的不是开始游戏)、暂停游戏、逐帧播放

要注意在运行之后,Game界面下改动的东西,都是临时的,停止后会消失(不要问我为什么知道这个)

GameObject:

游戏对象,对象身上可以搭配多个组件,还能放到另一个对象里面。

有点像C++类的对象,组件就像一个个函数,但是C++可是无法动态添加函数的。可能组件都继承一个共同的基类或接口。可以猜想有很多公共的组件,例如渲染相关的,还可以自定义一些组件吧。

Component:组件

游戏对象的功能模块,每个组件是一个类的实例。Transform、Mesh Filter、Mesh Renderer等等

mesh:网格,这里的网格跟日常指的网格差异很大,意义上更接近形状、物体、模型。利用三个点确定一个面,一个3D的模型,由很多个面组成,面越多,精度越高,计算量越大。

选中对象后,可以在上图圈住的地方,双击看这个对象的形状信息。有点像看C++类的定义。

没有形状的物体是一个空物体,是看不见的,不过依然有Transform。

一个物体需要有Mesh Filter和Mesh Renderer两个组件才能被看到,空物体可以自己加组件。

加了形状后,看到的是一团紫色,是材质丢失的情况(因为是自己加的空物体),需要自己加上材质。

项目的结构:

 

以上是关于Unity学习笔记1:界面和对象的主要内容,如果未能解决你的问题,请参考以下文章

Unity学习笔记1:界面和对象

Unity学习笔记1:界面和对象

Unity学习笔记 之 发射小球碰撞物体的代码记录

Unity 3D学习笔记三十六:物理引擎——刚体

Unity3D 灵巧小知识点 ☀️ | 获取某个游戏对象下的所有子物体

TA养成之路unity·shader(一)