绘制公路:
1、导入包EasyRoads3D
2、创建EasyRoads3D
3、操作前三个(选择第一个,按住shift键绘制,最后选择第三个完成绘制)
自定义树的创建:
在菜单栏点击GameObject-->Create General-->Tree,创建一棵树
根节点属性:
Tree Seed:改变部位在父物体上的位置;Area Spread:蔓延区域;Ground Offset:地面偏移;LOD Quality:定义树的细节级别;Amblient Occlusion:是否产生环境遮挡效果。
枝干节点属性:
Group Seed:子枝干在父枝干的位置;Frequency:频率,调节子枝干产生的数量;Distribution:枝干分布;Twirl:子枝干在父枝干的扭转角度;Groeth Angle:子枝干生长角度;Branch Material:枝干的材质;Length:枝干的长度范围;
树叶节点属性:
Growth Angle:树叶生长长角度;Size:调整树叶的大小范围;
Transform
世界坐标系(world):所有物体的世界坐标都是相同的、不会改变。
局部坐标系(loacl):又称为本地坐标系,每个物体都是一个本地坐标系
必然事件:在Unity的脚本中,可以定义一些特定的函数,这些函数会在满足某些条件时由Unity自动调用,它们被称为必然事件(Certain Events)。而Start和Update正是最常用的两个事件,因此Unity默认为新建的脚本添加了这两个事件。
常用的必然事件:
1、Awake():唤醒脚本,此方法为系统执行的第一个方法,用于脚本 的初始化,在脚本的生命周期中只执行一次。
2、Update():正常更新,用于更新逻辑。每创建一个脚本,脚本中都会默认添加这个方法。此方法每帧都会由系统自动调用一次。
3、Start():此方法在Awake()方法之后,Update()方法之前执行,并且只执行一次
4、LateUpdate():此方法在Update()方法执行后调用,同样每一帧都调用。
5、FixedUpdate():固定更新,更新频率为0.02s
6、OnGUI()在每一帧都会由系统自动调用一次,渲染和处理GUI事件时调用。
输出:print(); Debug.LogWarning();警告
Debug.Log(); Debug.Error();错误
MonoBehanviour类:所有的脚本类均需要从它之间或者间地继承,脚本必然事件就是从它继承而来。
监视变量:public在监视面板中可见;private、protected、无修饰符的变量是不可见的;
Transform:gameObject的transform属性可以进行位置、旋转、大小的设置。
Vector3向量:是unity中定义的一个含有x\y\z三个字段的类,可以表示位置点,也可以表示一个向量。
如:
transform.Translate (Vector3.forward);向前移动
transform.Translate (new Vector3(10,0,0));向x轴移动
transform.Rotate (new Vector3(0,10,0));沿y轴旋转
transform.localScale += new Vector3 (0.1F, 0, 0);x轴增长0.1
RotateAround(v1,v2,angle):元素为绕着世界坐标的v1点采用v2向量旋转angle角度。
如:
transform.RotateAround(Camera.main.transform.position,Vector3.up,o.5f);元素围绕着摄像头运动
更多精彩请点击 http://www.gopedu.com/