1.导入
2.贴图(表面贴图+法线贴图)
3.创建一个cube,调整模型的大小。
1.导入
2.贴图(表面贴图+法线贴图)
3.创建一个cube,调整模型的大小。
区别:
1.重定向(humaniod)人形的骨骼映射
2.使用动画
这个菊花没毛病 哈哈哈
Humanid:Animation
Humanid
if(anim.GetCurrentAnimatorSateInfo(0).IsName("Vault") && anim.IsInTransition(0) == false){//确保状态机再播放指定动画&&没在过渡动画 anim.MatchTarget(matchTarget,Quaternion.identity,AvataoTarget.LeftHand,new MatchTargetWeightMask(Vector3.One,0),0.41f,0.5f);}//后面两个时间为差值时间,第一个时间点要在接触点之前,才能通过插值进行匹配,第二个时间点为真正接触到的时间
想要控制Timeline中的Audio音量,需要先创建一个Audio Source组件(任意对象上),然后把该组件拖放到Timeline上,然后再把音源拖放到编辑栏(还有不要勾选上Audio Source的Play On Awake选项)
勾上Apply Track Offsets,并移动模型,就不会在原点播放
如果所选动画片段是动画轨道上的唯一片段,则可以将预先外插模式设置为以下选项之一:
None:关闭事先推断。在所选动画剪辑之前的间隙中,GameObject使用其场景中的变换,姿态或状态。例如,如果您想在场景中的GameObject动画和动画片段之间创建缓入,则选择“无”非常有用。有关详细信息,请参阅缓动和缓动剪辑。
Hold(默认):在所选动画片段之前的间隙中,绑定到动画轨道的GameObject使用在动画片段开始时分配的值。
Loop:在所选动画剪辑之前的间隙中,绑定到动画轨道的GameObject将整个动画作为前向循环重复:从开始到结束。使用Clip In属性来抵消循环的开始。
Ping Pong:在所选动画片段之前的间隙中,绑定到动画轨道的GameObject将向前重复整个动画,然后向后重复。使用Clip In属性来抵消循环的开始。更改Clip In属性会影响循环前进时的循环开始和循环后退时循环的结束。
Continue:在选定的动画片段之前的间隔中,绑定到动画轨道的GameObject根据源素材资源的设置保存或循环动画。例如,如果选定的动画剪辑使用运动文件“Recorded(2)”作为其源资产并且“Recorded(2)”设置为循环,则选择继续根据“Recorded(2)”循环循环播放动画时间设置。
如果选定的动画片段是动画轨道上的唯一片段,则可以将后期推演模式设置为以下选项之一:
None:关闭post-extrapolation。在所选动画剪辑之后的间隙中,GameObject使用场景中的变换,姿态或状态。例如,如果您想在动画片段与场景中的GameObject运动之间创建缓冲区,则选择“None”非常有用。有关详细信息,请参阅缓动和缓动剪辑。
Hold(默认):在所选动画片段之后的间隙中,绑定到动画轨道的GameObject使用在动画片段末尾分配的值。
Loop:在所选动画剪辑之后的间隙中,绑定到动画轨道的GameObject将整个动画作为前向循环重复:从开始到结束。使用Clip In属性来抵消循环的开始。
Ping Pong:在选定的动画片段之后的间隙中,绑定到动画轨道的GameObject重复向前的整个动画,然后向后。使用Clip In属性来抵消循环的开始。更改Clip In属性会影响循环前进时的循环开始和循环后退时循环的结束。
Continue:在所选动画剪辑之后的间隙中,绑定到动画轨道的GameObject根据源asset的设置保存或循环动画。例如,如果选定的动画剪辑使用运动文件“Recorded(2)”作为其源资产并且“Recorded(2)”设置为循环,则选择继续根据“Recorded(2)”循环循环播放动画时间设置。
属性: | 功能: |
---|---|
Start | clip开始时的帧或时间(以秒为单位)。更改“Start”属性会更改时间轴属性中clip在其轨道上的位置。更改开始也可能会影响持续时间Duration |
End | 剪辑结束时的帧或时间(以秒为单位)。更改End属性会影响持续时间。所有clip都使用End属性。 |
Duration |
剪辑的持续时间Duration以帧或秒为单位。更改持续时间属性也会影响End属性。 |
Ease In Duration |
设置剪辑缓解所需的秒数或帧数。如果剪辑的开始与另一个剪辑重叠并混合,则“缓动持续时间”无法编辑,而是显示剪辑之间混合的持续时间。请参阅混合剪辑。 |
Ease Out Duration | 设置剪辑缓解所需的秒数或帧数。如果剪辑的结尾与另一个剪辑重叠并混合,则无法编辑缓出持续时间,而是显示剪辑之间混合的持续时间。在这种情况下,修剪或定位剪辑以更改剪辑之间混合的持续时间。请参阅混合剪辑。 |
Clip In | 设置源片段开始播放时的偏移量。例如,要播放30秒音频剪辑的最后10秒,请将Clip In设置为20秒。 |
Speed Multiplier |
片段播放速度的乘数。此值必须大于0.更改剪辑的此值将更改剪辑的持续时间以播放相同的内容。 |
属性: | 功能: |
---|---|
Pre-Extrapolate |
控制动画数据在动画片段之前如何在间隙中近似(动画片段)。 Pre-Extrapolate属性影响缓动动画片段。 |
Post-Extrapolate | 控制动画数据在动画剪辑后如何在间隙中延伸。后期外属性影响缓解动画片段。 |
想要在对象上创建Timeline,只需要把对象拖动到Timeline窗口,选择需要创建的Track类型。或者点击Add,创建一个空的Track,然后把对象拖到Track里,对象就会自动创建Animator
点击window -> Timeline窗口,然后选择一个任意对象,在Timeline窗口点击Create,保存到需要的目录下,然后对象就会自动创建两个组件,如下图
playable Director参数
Playable:要播放的序列
Update Method:回放将遵循(DSP,游戏,任何游戏,手动或固定)
Play on Awake:是否一开始就播放
Wrap Mode:当序列到达终点时会发生什么(循环,None,保持)
Initial Time:什么时候开始播放(秒)
这个Playable Director组件可以通过脚本动态控制开始和停止
TImeline亦可在右键->create->Timeline中创建
使用Generic男性人物中的动画不能再女性人物中使用(不能重定向)。人物运动必须通过代码来设置,不能通过动画设置。
使用Humanid动画会变成个通用的(重定向)。因为Humanid是人的,通过骨骼来定义,所以动画可以通用在其它人物身上。可以用动画控制人物的运动。
Generric->inspector->Optimize Game Object(优化模型):将骨骼节点隐藏掉,是模型Biker更简洁。
Layers动画层 可以建立多个,参数的意义有以下几个:
遮罩表示遮住某个部位的动画,即被遮着的部位将不会在本动画剪辑中运动。遮罩可以在两个地方进行设置:
- 在Animation动画剪辑中的Mask,下图红色的右臂将在本剪辑中将不再运动。。
- 在动画层中,将Mask启用,并添加Avatar Mask资源(在Asset中添加即可),通过在Avatar Mask中设定红色部分,也可以添加遮罩,在动画图层添加的遮罩只影响本层的所有动画状态。
Hold Log的动画层只对两只手产生影响,所以只要把两只手的IK选上
扛起木头要跟头的频率一致,才会看起来有扛起的效果,所以要放在头节点的下面,大概在脖子的位置(注:要先把Optimeize Game Object取消勾选,这样才能看到子节点,如下图1)
动画类型:
普通动画
在动画片段中的Animation栏下,找到Curves曲线属性,这里可以添加关键帧,从而改变状态机里处于该动画片段下的同名属性的属性值,一旦发现同名属性,则在状态机不能被修改,只能通过Curves修改,如上图
添加两个跳跃动作前后的关键帧,并把曲线调成图四,这样就能在跳跃过程中collider值超过0.5,并且控制是否关闭character controller
模型动画中Root Transform Rotation的Bake Into Pose 如果勾选上,就不会对Rotation产生影响。
Root Transform Rotation中的offset是指偏移量,如果offset大于0,那么播放动画会按照offset作为Rotation的值
同理,如果勾选上Root Transform Position(Y)或者Root Transform Position(XZ)的Bake Into Pose,就不会对Y轴的Position产生影响或者X,Z轴的Position产生影响
如果需要位移,可以通过脚本控制
Generic模型不能共享骨骼,Humaniod才能动画重定向
fbx文件上的Optimize Game Object选项表示是否显示骨骼节点,如果勾上才会显示骨骼