目录
本篇文章来进一步了解Unity,主要讲述一下几个比较重要的基础概念和Unity的基本使用。
1.基础概念
1.1场景(Scene)
一个场景可以理解为一个环境,由许多的物体搭建而成,Unity将这些物体称游戏对象GameObject。
1.2游戏对象(GameObject)
游戏对象是Unity中的基本实体,可以是图片、文本、三维物体等。是一种容器,可以挂载组件,游戏对象至少要有Mesh Filter(形状)和Mesh Renderer(颜色)才能渲染,即在编辑面板、游戏面板中看到。
1.3组件(Component)
挂载/附加到游戏对象上的功能模块,如网格过滤器(Mesh Filter)、网格渲染器(Mesh Renderer)、脚本(Script)等,用于定义游戏对象的行为和属性。每个组件都是一个类的实例。
1.4脚本(Script)
用来定义逻辑的代码文件,通常使用C#编写,并附加到游戏对象上以控制其行为。
1.5预制体/预制件(Prefab)
一个可重复使用的游戏对象模板,允许在项目中创建、配置和存储游戏对象的副本。直接从Hierarchy面板中拖动到资源面板即可形成预制体。
1.6材质(Material)
定义了游戏对象表面的外观和光照效果,常与纹理(Texture)结合使用,纹理就是附加到物体表面的贴图。
1.7动画(Animation)
用于控制游戏对象的运动和变换,包括动画和场景中的其他动画效果。
1.8物理(Physics)
涉及到碰撞、重力和其他物理行为,使游戏对象具有真实的物理特性。
Unity是面向组件开发,为什么这么说呢?
从一个unity项目的构成来看,项目->场景->游戏对象->组件,项目有一个或多个场景,场景由游戏对象搭建而成,游戏对象上挂载各种组件使其拥有各种功能,可以看到最终是对组件开发的,因此可以说Unity是面向组件开发。简而言之,场景是一组游戏对象的集合,游戏对象是一个装组件的容器,组件是游戏对象的功能模块,Unity是面向组件开发。
面向组件开发的优点
(1)功能分离:每个组件负责特定的功能,职责明确,可以对组件进行独立开发和测试
(2)模块化:通过将不同功能的组件组合到游戏对象上,可以创建复杂的行为和效果,而不需要编写大量的代码
(3)灵活性和重用:可以将相同的组件附加到不同的游戏对象上,从而实现功能的重用和一致性
(4)可维护性:组件化设计使得系统更加模块化,容易进行维护和扩展,可以在不影响其他组件的情况下修改或添加新功能
2.基本使用
在此之前,先了解一下两个坐标系,世界坐标系和本地坐标系
①世界坐标系(World Position):物体在全局空间中的位置,可通过transform.position获取,模型一般放到世界坐标的原点(点击Transform的reset)
②本地坐标系(Local Position):物体相对于其父物体的位置;如果物体没有父物体,本地坐标系与世界坐标系相同可通过transform.localPosition获取
刚刚提到了父物体,与之相对应的就是子物体,父子物体,即存在父子关系的游戏对象。父物体影响子物体,子物体不影响父物体。当子物体某属性为空则继承父物体属性,在Hierarchy面板中,将一个物体拖拽到另外一个物体下,就形成了父子关系,子物体将继承父物体的移动,旋转和缩放属性,但子物体不影响父物体,注意子物体的Transform里的属性是相对父物体的。
2.1常用快捷键
①点击Q: 左击拖拽场景,右击拖放旋转世界
②点击W:移动
按轴移动(移动某轴往某个方向移动):上下(Y轴)左右(X轴)前后(Z轴)
按面移动(沿着该面移动):左击某个面拽动即可
③点击E:沿某轴旋转,轴线从物体中间穿过,物体旋转成的面垂直于轴,拽动面的外圈线即可
④点击R:进行缩放
也可以Q、W、E、R对应工具的图标进行切换
⑤鼠标有关操作:按下鼠标滚轮拖拽场景;滑动滚轮缩放场景;按住alt键同时通过鼠标左键围绕某物体旋转场景;鼠标右键缩放场景
⑥场景漫游:点击右键同时按下W/S/A/D/Q/E键即可
⑦物体聚焦:在Scene面板选中物体后按F键,或在Hierarchy面板(场景树)双击物体,可将物体设置为场景面板的中心,但物体移动后就不在场景面板的中心了。如果按Shift+F键,可以让该对象始终保持在场景面板的中心,按两次F键可以进行取消。
⑧定点吸附:选择物体后,按住V键,定位定点,再拖拽到目标物体某个定点上
⑨快速管理Hierarchy面板中的节点结构
展开所有子节点:按住Alt键,然后点击父物体的三角形图标,展开所有嵌套的子节点
收起所有子节点:同样按住Alt,再次点击父物体的三角形图标,将所有子节点收起
2.2变换切换
在此,我们可以来了解一下轴心和锚点,便于后面的学习。
①轴心pivot:影响游戏对象的旋转和缩放行为,决定对象围绕哪个点进行变换。
②锚点anchor:影响游戏对象在父级容器中的位置和大小,特别适用于UI元素。
Center设置轴心点在物体中心、Pivot使用物体本身的轴心、Global世界坐标、Local自身坐标
2.3视图切换
①ISO:Orthographic,正交视图模式,所有的物体都按其实际尺寸显示,不会因为距离摄像机的远近而出现缩小或放大的效果,适用于2D游戏开发,或需要严格对齐的3D场景
②Persp:Perspective,透视视图模式,默认的视图模式,模拟人眼的视觉效果,近大远小,适用于3D场景的观察和编辑
好了,今天的分享到这里就结束啦,希望对你有所帮助!