gameobject(游戏对象)
层级面板可以看到游戏对象的父子关系
一个游戏对象只有一个父物体,一个游戏对象可以有无数个子物体
当一个子物体进行位移、旋转、缩放的时候不会对父物体产生影响
当对一个父物体进行位移、旋转、缩放的时候会对子物体产生影响
子物体的位置、旋转、缩放都是相对于父物体的
新建一个空对象:
可见transform是游戏对象的基础属性
当删掉一个可见的游戏对象也只能看到坐标系
基于组件
MashFilter(网格过滤器) 决定了一个游戏对象的形状
点击这个白点可以选择形状
MashRenderer(网格渲染器) 决定了游戏对象的外观展示
其中材质是决定了外观主要的因素,可以选择材质
由此可以知道unity的游戏对象是基于组件的思想。
组件:一个具有一定功能的集合
如果希望某个游戏对象具有什么功能,只需要给这个游戏对象添加对应的组件即可。
材质(Material)的使用
在project 目录下面 ==》 新建 Material -》选择颜色
然后直接把材质拖给这个游戏对象就行了
多个游戏对象应用同一个材质的时候,全选游戏对象==》选择材质(Material)==》选择 新建的Red材质
材质不仅可以是一个颜色还可以是一张图片,首先新建一个材质(Material)
在材质的检视面板下面
然后材质球上就显示了效果
然后把材质球拖到plane上就实现了,在游戏对象上贴图
预设体(prefab)
可以将某个游戏对象以文件形式存储起来,用来批量管理游戏对象
有这个属性--prefab,说明这个游戏对象是prefab。还有一种是model。
select --快速找到游戏对象对应的预设体(prefab)文件
scale ---修改预设体的缩放会对所有相关的游戏对象产生影响
给一个预设体添加组件,会对所有相关的游戏对象添加上这个组件
Revert---- 将游戏对象的组件及属性还原为预设体中的定义
Apply --- 将游戏对象的组件及属性应用给预设体
资源包的导入与导出
资源包可以把项目中用到的资源打包导出
如何导出
project目录右键==》exporting package
即可导出一个资源包(unitypackage)
如何导入
1,直接将资源包拖到project目录,然后 import ,即可将所有资源导入
2,在project面板右键--》import package
3,双击unity文件即可
如果unity目录没有系统预置的 standard asset ,可以用standardAssetSetup.exe
地形(Terrain)系统
上升地形---让指定的地形太高
Bursh--笔刷样式
Bursh size--笔刷大小
opacity ----笔刷硬度(速度)
下降地形---(按住shift)让指定地形下降,最低可以让地形下降到0
恒高地形,设置一个高度,然后将高于这个高度的部分刷低,然后将低于这个高度的地方刷高
flatten---将设定的高度应用给所有地形
smooth height(平滑地形) ------可以将尖锐的棱角变得平滑,因为尖锐的棱角的性能不好
绘制地面纹理 ----- 照一张图片,然后用笔刷在想要的改变的地形上绘制即可
第一种纹理会应用到所有地形,从第二种纹理开始只能应用到选择的地形上
target strength 表示覆盖多少纹理
种树与种草
edit Tree==》Add Tree
选择一个预设体,我们这里选择一个cube
然后就把cube当树一样种好了
按住shift就可以删掉
environment 资源包里面有树,草之类的环境预设体
tree density 树的密度
笔刷大小调至最小可以实现只种一颗
lock width and height 锁定宽高比
种草几乎与种树相同于是不再赘述
地形设置
terrain width 地形宽度
terrain length 地形Z轴
terrain height 地形的高度
角色资源包(characters)
刚体组件(rigidbody)
刚体组件(rigidbody )提供了模拟现实中的物理效果
组件可以在游戏对象中添加此对象
Mass 质量
drag 拉力
angular drag 旋转的拉力
use gravity 使用重力
当使用这个组件的时候,会赋予游戏对象物理效果,比如重力效应,重心失衡,物体碰撞等
总结
在unity中不管是复杂的地形系统还是cube都是由一个一个组件构成,这些组件赋予了游戏对象的一些基础特性,比如颜色,物理特性等。还可以通过增加自定义组件实现不同的功能。