材质包含了Shader和Shader所需的数据,Shader告诉图形显卡怎么绘制物体的顶点们
hours.localRotation = Quaternion.Euler(0f,0f,time.Hour*(-hoursToDegrees));//欧拉角转换成四元数
struct结构体是值类型
property属性是一个方法类型的变量,可控制为可读或可写的
private void Update(){}
这个方法是组件中每帧都执行的方法
Update方法无论声明为公有还是私有,内置方法也一样,Unity都可以找到它并且调用它,所以我们不应该声明Update为公有,因为我们并不打算自己去调用它,为了减少潜在的BUG,应该声明为private
继承自MonoBehaviour
引入命名空间 using UnityEngine
//简单的脚本组件 using UnityEngine; public class ClockAnimator:MonoBehaviour{}
拖拽脚本到Inspector或点击Add Component,使物体联系上脚本。
脚本的公有属性会显示在Inspector,可以直接在编辑器中赋值或拖拽指定相应的引用
public Transform hours,minutes,seconds;
子物体成为父物体的子对象后,Transform显示的参数将与父物体作参考,就是显示相对父物体的局部坐标
例如
子: position(12,1,0)
父: position(2,1,0)
形成父子对象后
子: position(10,0,0)
父: position(2,1,0)
所有放置在场景中的物体就是GameObject,它有name,tag,layer,一个transform组件,它不会做任何事,仅仅是一个空的容器。可以增加组件和放置子物体使其成为有用的物体。
可创建的动画组件
State单个动画
Sub State Machine动画组
Blend Tree动画融合组
可创建的条件参数
Float
Int
Bool
Triggle(触发后变回false)
脚本设置方法
animator.SetFloat(id,value)
需要一个Controller,Avatar
OnAnimationMove,有该回调时,动画的移动效果由脚本控制。
动画控制器,将动画整合起来的控制器,利用状态机,State Machine,可以实现动画的播放,转移,融合以及分层播放等,使用Script控制获取状态等。