任何游戏对象都由组件组成,组件是实现一切功能所必需的,不同的组件有不同的功能,不同组件之间的相互组合以及组件中相应参数的差异使得每一个游戏对象各不相同。
创建的对象会在Hierarchy视图中显示,场景中的对象统称为游戏对象。
常用组件介绍
Mesh有关
Mesh Filter 网格过滤器
在项目资源中获取网格并将其传递到所属的游戏对象中。还需添加Mesh Renderer(网格渲染器)组件,否则网格虽然存在,但是不会被渲染。
Text Mesh 文本网格
生成三维的字符串
Mesh Render 网格渲染器
从网格过滤器中获取网格模型,进而根据游戏对象的Transform组件中定义的位置在Scene中进行渲染
Skinned Mesh Render 蒙皮渲染器
用于呈现骨骼动画
Particle System
粒子系统组件用于创建烟雾、气流、火焰、瀑布、喷泉、涟漪等
Physics
Unity拥有内置的NVIDIAPhysX物理引擎,可以模拟真实的物理行为。
Image Effect
用于提高画面的画质感(图像后处理特效),补充很多外观和视觉上的效果
Script
用于添加到游戏对象上以实现各种交互操作及其他功能。
创建Prefabs
Prefabs为预设体,可以理解为一个游戏对象及其组合的集合,目的是使游戏对象及其资源被重复利用。
实例化Prefabs
if(Input.GetKeyDown(KeyCode.A)){
Instantiate(prefab01,pos,Quaternion.identity);
}
else if(Input.GetKeyDown(KeyCode.S)){
Instantiate(sphere,pos,Quaternion.identity);
}
嵌套Prefabs
Unity 本身不支持嵌套Prefab,不能指定它们之间的层次关系。可以用代码实现嵌套的Prefabs