版本 |
作者 |
参与者 |
完成日期 |
备注 |
UnityAPI_AnimationClip_V01_1.0 |
严立钻 |
|
2020.06.24 |
|
|
|
|
|
|
立钻哥哥:Unity是一个入门快、提高难的游戏引擎,想要提升能力,至少需要越过3道坎:API+Shader+综合能力;++1、API的积累:对API的合理利用不仅可以减轻自己的编码负担,而且往往可以提高程序的运行效率;这也是钻哥开始“Unity API”独立打造分类的初衷; ++2、Shader编程:想要做出一款精品游戏往往需要有高效的Shader的支持;Unity提供了一套改良的“Shader Lab”系统,优化了繁杂的“Open GL”编程; ++3、综合能力(技术+业务+管理):一款产品的制作除了功能编程外,往往会涉及很多其他领域,例如产品架构、UI交互设计、模型制作等,作为主要的编程人员,对其他相关领域的了解程序往往会影响到产品制作直至最后的产品体验; ++++立钻哥哥一直在推动【VR云游戏=Unity+SteamVR+云技术+5G+AI】,这个只是一个引子,抛砖引玉让大家对整个知识体系有一个明确的落地方向,宝宝们可以根据自己的兴趣方向进行拓展:比如Unity这里是指一种“3D游戏引擎”,也可拓展至“UE4、Cocos2dx”等游戏引擎;SteamVR是一种跨硬件解决方案,也可拓展至“VRTK”等第三方插件;“云技术+5G”是一种跨平台解决方案的核心技术,同样可拓展至其他平台解决方案;AI也是一种先进技术的举例,也可以拓展至任何一种前沿技术; |
++++【Unity API】分类:https://blog.csdn.net/vrunsoftyanlz/category_7637520.html
++++【Unity开发基础】分类:https://blog.csdn.net/vrunsoftyanlz/category_7309057.html
++++【Linux系统编程】分类:https://blog.csdn.net/vrunsoftyanlz/category_9694767.html
++++【C++C铸就生存利器】分类:https://blog.csdn.net/vrunsoftyanlz/category_9325802.html
++++【人工智能AI2026】分类:https://blog.csdn.net/vrunsoftyanlz/category_9212024.html
++++【立钻哥哥CSDN空间】:https://blog.csdn.net/VRunSoftYanlz/
#AnimationClip动画剪辑 |
#AnimationClip动画剪辑++A1、Description描述++B2、Variables变量++C3、Public Function共有函数++D4、Message消息 |
#A1、Description描述 |
【Motion动作】:动画剪辑与混合树的基类;Motions被用于Mecanim状态机的动画状态; |
++++储存基于关键帧的动画;
++++AnimationClip是用于Animation来播放动画;
#B2、Variables变量 |
++B2、Variables变量++++B2.1、events++++B2.2、frameRate++++B2.3、humanMotion++++B2.4、legacy++++B2.5、length++++B2.6、localBounds++++B2.7、wrapMode++++B2.8、YanlzXREngine.AnimationClip.Variables |
++B2.1、events |
public AnimationEvent[] events; |
++++用于该剪辑的动画事件;
++++需要注意的是修改的事件仅持续在运行模式直到玩家退出;如果想持久添加动画事件,在编辑器使用AnimationUtility.SetAnimationEvents;
++B2.2、frameRate |
public float frameRate; |
++++被取样关键帧的帧速率(只读);
++++帧速率是在动画程序用于创建动画或模型中使用;
Debug.Log(GetComponent<Animation>()[“MyWalk”].clip.frameRate); |
++B2.3、humanMotion |
public bool humanMotion; |
++++如果该动画包含的曲线是人类骨骼,返回true;
++B2.4、legacy |
public bool legacy; |
++++如果动画剪辑被使用于旧版Animation组件,返回true;
using UnityEngine; using System.Collections; using YanlzXREngine;
public class YanlzAnimationClip : MonoBehaviour{
void Start(){ AnimationClip fovc = new AnimationClip(); AnimationCurve curve = AnimationCurve.Linear(0.0f, 60.0f, 10.0f, 90.0f);
fovc.SetCurve(“”, typeof(Camera), “field of view”, curve); fovc.legacy = true;
GetComponent<Animation>().AddClip(fovc, “animfov”);
GetComponent<Animation>().Play(“animfov”);
} //立钻哥哥:void Start(){}
} //立钻哥哥:public class YanlzAnimationClip{} |
++B2.5、length |
public float length; |
++++动画长度,单位秒(只读);
using UnityEngine; using System.Collections; using YanlzXREngine;
public class YanlzAnimationClip : MonoBehaviour{ public Animation anim;
IEnumerator Start(){ anim = GetComponent<Animation>(); anim.Play();
yield return new WaitForSeconds(anim.clip.length); } //立钻哥哥:void Start(){}
} //立钻哥哥:public class YanlzAnimationClip{} |
++B2.6、localBounds |
public Bounds Bounds; |
++++动画组件在本地坐标空间这个动画剪辑的AABB也被附加;
++++该动画剪辑基于网格影响导入模型/动画之前预先计算;这个边界框是特定的网格,这个剪辑是在导入过程中附加;即这意味着,如果正使用Model@Animation符号,它是基于该部分文件和Model文件计算;
++B2.7、wrapMode |
public WrapMode wrapMode; |
++++在动画状态设置使用的默认循环模式;
#C3、Constructors构造器 |
++C3、Constructors构造器++++C3.1、AnimationClip++++C3.2、YanlzXREngine.AnimationClip.Constructors |
++C3.1、AnimationClip |
public AnimationClip(); |
++++创建一个新的动画剪辑;
#D4、Public Functions公共函数 |
++D4、Public Functions公共函数++++D4.1、AddEvent++++D4.2、ClearCurves++++D4.3、EnsureQuaternionContinuity++++D4.4、SampleAnimation++++D4.5、SetCurve++++D4.6、YanlzXREngine.AnimationClip.PublicFunctions |
++D4.1、AddEvent |
public void AddEvent(AnimationEvent evt); |
++++[evt]:要添加的动画事件;
++++给剪辑添加动画事件;
++++注意:动画事件被添加,只能持续在播放模式,直到退出播放模式或玩家退出;如果想给剪辑添加一个固定的事件,从Unity编辑器使用;
++D4.2、ClearCurves |
public void ClearCurves(); |
++++从该剪辑清除所有曲线;
++D4.3、EnsureQuaternionContinuity |
public void EnsureQuaternionContinuity(); |
++++为了保证更好的四元数插值,设置完成动画曲线后调用这个函数;
++++该函数重新调整四元数键来确保最短路径插补;
++D4.4、SampleAnimation |
public void SampleAnimation(GameObject go, float time); |
++++[go]:动画的游戏对象;
++++[time]:采样动画时间;
++++在给定的时间采样动画,为任意动画的属性;
++++建议使用动画界面,而不是出于性能的考虑;这会在给定的时间采样动画;在剪辑任意动画的组件属性将被替换为采样值;大部分时间可以使用Animation.Play替代;SampleAnimation用于当需要在一个无序的方式帧之间跳跃,或基于某些特殊的输入;
using UnityEngine; using System.Collections; using YanlzXREngine;
public class YanlzAnimationClip : MonoBehaviour{ public AnimationClip clip;
void Update(){ clip.SampleAnimation(gameObject, clip.length - Time.time); } //立钻哥哥:void Update(){}
} //立钻哥哥:public class YanlzAnimationClip{} |
++D4.5、SetCurve |
public void SetCurve(string relativePath, Type type, string propertyName, AnimationCurve curve); |
++++[relativePath]:应用给该曲线的游戏物体的路径;relativePath被格式化类似路径,如“root/spine/leftArm”;如果relativePath为空,表示动画剪辑附加的游戏物体;
++++[type]:被动画的组件的类类型;
++++[propertyName]:被动画的属性的名字或路径;
++++[curve]:动画曲线;
++++指定动画曲线来动画特定的属性;
++++如果曲线为null,曲线将被移除,如果曲线属性已经存在,曲线将被替换;
++++通常的名称是:“localPosition.x”,“localPosition.y”,“localPosition.z”,“localRotation.x”,“localRotation.y”,“localRotation.z”,“localRotation.w”,“localScale.x”,“localScale.y”,“localScale.z”;
++++Material材质属性可以使用shader输出的属性名称制作动画;通常使用的名称是:“_MainTex”,“_BumpMap”,“_Color”,“_SpecColor”,“_Emission”;如何动画化不同材质属性类型:Float属性;Vector4属性;Color属性;UV旋转属性;UV偏移和缩放;
++++Float属性:“PropertyName”;
++++Vector4属性:“PropertyName.x”,“PropertyName.y”,“PropertyName.z”,“PropertyName.w”;
++++Color属性:“PropertyName.r”,“PropertyName.g”,“PropertyName.b”,“PropertyName.a”;
++++UV旋转属性:“PropertyName.rotation”;
++++UV偏移和缩放:“PropertyName.offset.x”,“PropertyName.offset.y”,“PropertyName.scale.x”,“PropertyName.scale.y”;
++++对于在同一renderer的多个索引材质,能这样添加前缀:“[1]._MainText.offset.y”;
++++属性名可以通过设置资源序列化,可以在编辑器中设置强制文本模式进行查找;该文本文件由编辑器写入,将包含属性名;例如,yaml文件写入的场景对象将包含相机设置;
++++这个显示FOV参数的名为field of view;如果想要创建一个动画剪辑来动画相机的field of view,应该传递field of view作为参数;
using UnityEngine; using System.Collections; using YanlzXREngine;
[RequireComponent(typeof(Animation))] public class YanlzAnimationClip : MonoBehaviour{ public Animation anim;
void Start(){ anim = GetComponent<Animation>(); AnimationCurve curve = AnimationCurve.Linear(0, 1, 2, 3); AnimationClip clip = new AnimationClip();
clip.legacy = true; clip.SetCurve(“”, typeof(Transform), “localPosition.x”, curve);
anim.AddClip(clip, “test”); anim.Play(“test”);
} //立钻哥哥:void Start(){}
} //立钻哥哥:public class YanlzAnimationClip{}
|
using UnityEngine; using System.Collections; using YanlzXREngine;
[RequireComponent(typeof(Animation))] public class YanlzAnimationClip : MonoBehaviour{ public Animation anim;
void Start(){ anim = GetComponent<Animation>(); AnimationClip clip = new AnimationClip();
clip.legacy = true; clip.SetCurve(“”, typeof(Material), “_Color.a”, new AnimationCurve(new Keyframe(0, 0, 0, 0), new Keyframe(1, 1, 0, 0))); clip.SetCurve(“”, typeof(Materail), “_MainTex.offset.x”, AnimationCurve.Linear(0, 1, 2, 3));
anim.AddClip(clip, clip.name); anim.Play(clip.name);
} //立钻哥哥:void Start(){}
} //立钻哥哥:public class YanlzAnimationClip{} |
#E5、立钻哥哥对AnimationClip类的拓展 |
++++【Unity API】分类:https://blog.csdn.net/vrunsoftyanlz/category_7637520.html
++++【Unity开发基础】分类:https://blog.csdn.net/vrunsoftyanlz/category_7309057.html
++++【Linux系统编程】分类:https://blog.csdn.net/vrunsoftyanlz/category_9694767.html
++++【C++C铸就生存利器】分类:https://blog.csdn.net/vrunsoftyanlz/category_9325802.html
++++【人工智能AI2026】分类:https://blog.csdn.net/vrunsoftyanlz/category_9212024.html
++++【立钻哥哥CSDN空间】:https://blog.csdn.net/VRunSoftYanlz/
立钻哥哥推荐的拓展学习链接(Link_Url) |
++++立钻哥哥Unity 学习空间: http://blog.csdn.net/VRunSoftYanlz/
++++虚拟现实VR资讯: https://blog.csdn.net/VRunSoftYanlz/article/details/89165846
++++HTC_VIVE开发基础:https://blog.csdn.net/VRunSoftYanlz/article/details/81989970
++++Oculus杂谈:https://blog.csdn.net/VRunSoftYanlz/article/details/82469850
++++Oculus安装使用:https://blog.csdn.net/VRunSoftYanlz/article/details/82718982
++++Unity+SteamVR=>VR:https://blog.csdn.net/VRunSoftYanlz/article/details/88809370
++++Unity减少VR晕眩症:https://blog.csdn.net/VRunSoftYanlz/article/details/89115518
++++SteamVR简介:https://blog.csdn.net/VRunSoftYanlz/article/details/86484254
++++SteamVR脚本功能分析:https://blog.csdn.net/VRunSoftYanlz/article/details/86531480
++++SteamVR2.0开发指南:https://blog.csdn.net/VRunSoftYanlz/article/details/86618187
++++SteamVR2.2.0开发指南:https://blog.csdn.net/VRunSoftYanlz/article/details/88784527
++++SteamVR2.2.0快速入门:https://blog.csdn.net/VRunSoftYanlz/article/details/88833579
++++SteamVR2.2.0交互系统:https://blog.csdn.net/VRunSoftYanlz/article/details/89199778
++++SteamVR2.2.0传送机制:https://blog.csdn.net/VRunSoftYanlz/article/details/89390866
++++SteamVR2.2.0教程(一):https://blog.csdn.net/VRunSoftYanlz/article/details/89324067
++++SteamVR2.2.0教程(二):https://blog.csdn.net/VRunSoftYanlz/article/details/89894097
++++SteamVR_Skeleton_Poser:https://blog.csdn.net/VRunSoftYanlz/article/details/89931725
++++SteamVR实战之PMCore:https://blog.csdn.net/VRunSoftYanlz/article/details/89463658
++++SteamVR/Extras:https://blog.csdn.net/VRunSoftYanlz/article/details/86584108
++++SteamVR/Input:https://blog.csdn.net/VRunSoftYanlz/article/details/86601950
++++OpenXR简介:https://blog.csdn.net/VRunSoftYanlz/article/details/85726365
++++VRTK杂谈:https://blog.csdn.net/VRunSoftYanlz/article/details/82562993
++++VRTK快速入门(杂谈):https://blog.csdn.net/VRunSoftYanlz/article/details/82955267
++++VRTK官方示例(目录):https://blog.csdn.net/VRunSoftYanlz/article/details/82955410
++++VRTK代码结构(目录):https://blog.csdn.net/VRunSoftYanlz/article/details/82780085
++++VRTK(SceneResources):https://blog.csdn.net/VRunSoftYanlz/article/details/82795400
++++VRTK_ControllerEvents:https://blog.csdn.net/VRunSoftYanlz/article/details/83099512
++++VRTK_InteractTouch:https://blog.csdn.net/VRunSoftYanlz/article/details/83120220
++++虚拟现实行业应用:https://blog.csdn.net/VRunSoftYanlz/article/details/88360157
++++Steam平台上的VR:https://blog.csdn.net/VRunSoftYanlz/article/details/88960085
++++Steam平台热销VR:https://blog.csdn.net/VRunSoftYanlz/article/details/89007741
++++VR实验:以太网帧的构成:https://blog.csdn.net/VRunSoftYanlz/article/details/82598140
++++实验四:存储器扩展实验:https://blog.csdn.net/VRunSoftYanlz/article/details/87834434
++++FrameVR示例V0913:https://blog.csdn.net/VRunSoftYanlz/article/details/82808498
++++FrameVR示例V1003:https://blog.csdn.net/VRunSoftYanlz/article/details/83066516
++++SwitchMachineV1022:https://blog.csdn.net/VRunSoftYanlz/article/details/83280886
++++PlaySceneManagerV1022:https://blog.csdn.net/VRunSoftYanlz/article/details/83280886
++++Unity5.x用户手册:https://blog.csdn.net/VRunSoftYanlz/article/details/81712741
++++Unity面试题ABC:https://blog.csdn.net/vrunsoftyanlz/article/details/78630687
++++Unity面试题D:https://blog.csdn.net/VRunSoftYanlz/article/details/78630838
++++Unity面试题E:https://blog.csdn.net/vrunsoftyanlz/article/details/78630913
++++Unity面试题F:https://blog.csdn.net/VRunSoftYanlz/article/details/78630945
++++Cocos2dx面试题:https://blog.csdn.net/VRunSoftYanlz/article/details/78630967
++++禅道[zentao]:https://blog.csdn.net/VRunSoftYanlz/article/details/83964057
++++Lua快速入门篇(Xlua拓展):https://blog.csdn.net/VRunSoftYanlz/article/details/81173818
++++Lua快速入门篇(XLua教程):https://blog.csdn.net/VRunSoftYanlz/article/details/81141502
++++Lua快速入门篇(基础概述):https://blog.csdn.net/VRunSoftYanlz/article/details/81041359
++++框架知识点:https://blog.csdn.net/VRunSoftYanlz/article/details/80862879
++++游戏框架(UI框架夯实篇):https://blog.csdn.net/vrunsoftyanlz/article/details/80781140
++++游戏框架(初探篇):https://blog.csdn.net/VRunSoftYanlz/article/details/80630325
++++.Net框架设计:https://blog.csdn.net/VRunSoftYanlz/article/details/87401225
++++从零开始学架构:https://blog.csdn.net/VRunSoftYanlz/article/details/88095895
++++设计模式简单整理:https://blog.csdn.net/vrunsoftyanlz/article/details/79839641
++++专题:设计模式(精华篇):https://blog.csdn.net/VRunSoftYanlz/article/details/81322678
++++U3D小项目参考:https://blog.csdn.net/vrunsoftyanlz/article/details/80141811
++++Unity小游戏算法分析:https://blog.csdn.net/VRunSoftYanlz/article/details/87908365
++++Unity案例(Vehicle):https://blog.csdn.net/VRunSoftYanlz/article/details/82355876
++++UML类图:https://blog.csdn.net/vrunsoftyanlz/article/details/80289461
++++PowerDesigner简介:https://blog.csdn.net/VRunSoftYanlz/article/details/86500084
++++Unity知识点0001:https://blog.csdn.net/vrunsoftyanlz/article/details/80302012
++++Unity知识点0008:https://blog.csdn.net/VRunSoftYanlz/article/details/81153606
++++U3D_Shader编程(第一篇:快速入门篇):https://blog.csdn.net/vrunsoftyanlz/article/details/80372071
++++U3D_Shader编程(第二篇:基础夯实篇):https://blog.csdn.net/vrunsoftyanlz/article/details/80372628
++++Unity引擎基础:https://blog.csdn.net/vrunsoftyanlz/article/details/78881685
++++Unity面向组件开发:https://blog.csdn.net/vrunsoftyanlz/article/details/78881752
++++Unity物理系统:https://blog.csdn.net/vrunsoftyanlz/article/details/78881879
++++Unity2D平台开发:https://blog.csdn.net/vrunsoftyanlz/article/details/78882034
++++UGUI基础:https://blog.csdn.net/vrunsoftyanlz/article/details/78884693
++++UGUI进阶:https://blog.csdn.net/vrunsoftyanlz/article/details/78884882
++++UGUI综合:https://blog.csdn.net/vrunsoftyanlz/article/details/78885013
++++Unity动画系统基础:https://blog.csdn.net/vrunsoftyanlz/article/details/78886068
++++Unity动画系统进阶:https://blog.csdn.net/vrunsoftyanlz/article/details/78886198
++++Navigation导航系统:https://blog.csdn.net/vrunsoftyanlz/article/details/78886281
++++Unity特效渲染:https://blog.csdn.net/vrunsoftyanlz/article/details/78886403
++++Unity数据存储:https://blog.csdn.net/vrunsoftyanlz/article/details/79251273
++++Unity中Sqlite数据库:https://blog.csdn.net/vrunsoftyanlz/article/details/79254162
++++WWW类和协程:https://blog.csdn.net/vrunsoftyanlz/article/details/79254559
++++Unity网络:https://blog.csdn.net/vrunsoftyanlz/article/details/79254902
++++Unity资源加密:https://blog.csdn.net/VRunSoftYanlz/article/details/87644514
++++PhotonServer简介:https://blog.csdn.net/VRunSoftYanlz/article/details/86652770
++++编写Photon游戏服务器:https://blog.csdn.net/VRunSoftYanlz/article/details/86682935
++++C#事件:https://blog.csdn.net/vrunsoftyanlz/article/details/78631267
++++C#委托:https://blog.csdn.net/vrunsoftyanlz/article/details/78631183
++++C#集合:https://blog.csdn.net/vrunsoftyanlz/article/details/78631175
++++C#泛型:https://blog.csdn.net/vrunsoftyanlz/article/details/78631141
++++C#接口:https://blog.csdn.net/vrunsoftyanlz/article/details/78631122
++++C#静态类:https://blog.csdn.net/vrunsoftyanlz/article/details/78630979
++++C#中System.String类:https://blog.csdn.net/vrunsoftyanlz/article/details/78630945
++++C#数据类型:https://blog.csdn.net/vrunsoftyanlz/article/details/78630913
++++Unity3D默认的快捷键:https://blog.csdn.net/vrunsoftyanlz/article/details/78630838
++++游戏相关缩写:https://blog.csdn.net/vrunsoftyanlz/article/details/78630687
++++UnityAPI.Rigidbody刚体:https://blog.csdn.net/VRunSoftYanlz/article/details/81784053
++++UnityAPI.Material材质:https://blog.csdn.net/VRunSoftYanlz/article/details/81814303
++++UnityAPI.Android安卓:https://blog.csdn.net/VRunSoftYanlz/article/details/81843193
++++UnityAPI.AndroidJNI安卓JNI:https://blog.csdn.net/VRunSoftYanlz/article/details/81879345
++++UnityAPI.Transform变换:https://blog.csdn.net/VRunSoftYanlz/article/details/81916293
++++UnityAPI.WheelCollider轮碰撞器:https://blog.csdn.net/VRunSoftYanlz/article/details/82356217
++++UnityAPI.Resources资源:https://blog.csdn.net/VRunSoftYanlz/article/details/83155518
++++JSON数据结构:https://blog.csdn.net/VRunSoftYanlz/article/details/82026644
++++CocosStudio快速入门:https://blog.csdn.net/VRunSoftYanlz/article/details/82356839
++++Unity企业内训(目录):https://blog.csdn.net/VRunSoftYanlz/article/details/82634668
++++Unity企业内训(第1讲):https://blog.csdn.net/VRunSoftYanlz/article/details/82634733
++++Unity企业内训(第2讲):https://blog.csdn.net/VRunSoftYanlz/article/details/82861180
++++Unity企业内训(第3讲):https://blog.csdn.net/VRunSoftYanlz/article/details/82927699
++++Unity企业内训(第4讲):https://blog.csdn.net/VRunSoftYanlz/article/details/83479776
++++Unity企业内训(第5讲):https://blog.csdn.net/VRunSoftYanlz/article/details/83963811
++++Unity企业内训(第6讲):https://blog.csdn.net/VRunSoftYanlz/article/details/84207696
++++钻哥带您了解产品原型:https://blog.csdn.net/VRunSoftYanlz/article/details/87303828
++++插件
++++计算机组成原理(教材篇):https://blog.csdn.net/VRunSoftYanlz/article/details/82719129
++++5G接入:云计算和雾计算:https://blog.csdn.net/VRunSoftYanlz/article/details/88372718
++++云计算通俗讲义:https://blog.csdn.net/VRunSoftYanlz/article/details/88652803
++++立钻哥哥Unity 学习空间: http://blog.csdn.net/VRunSoftYanlz
--_--VRunSoft:lovezuanzuan--_--
--_--VRunSoft:lovezuanzuan--_--