unity5怎么修改animation为pingpong金融

QQ群: --->>战斗卡牌视频教程发布(网游)
当模型太多时。如果需要一个一个的创建AnimatorController其实很麻烦的。一个一个将动作拖入。创建AnimatorController什么的。很是烦躁。之前有人分享了5.x以前的代码创建方法。
但是在5.0之后。并不好用了。unity改变了原来的方式。所以就分享下。给需要的人。
using UnityE
using System.C
using UnityE
using UnityEditor.A//5.0改变 UnityEditorI并不能用了。
public class CreateAnimatorController : Editor
[MenuItem("ModelConfig/创建Controller")]
static void DoCreateAnimationAssets()
//创建Controller
AnimatorController animatorController = AnimatorController.CreateAnimatorControllerAtPath("Assets/animation.controller");
//得到它的Layer
AnimatorControllerLayer layer = animatorController.layers[0];
//将动画保存到 AnimatorController中
AddStateTransition("Assets/Art Resources/Character/moster-002/basic/moster-002@run.FBX", layer);
AddStateTransition("Assets/Art Resources/Character/moster-002/basic/moster-002@stand.FBX", layer);
AddStateTransition("Assets/Art Resources/Character/moster-002/basic/moster-002@born.FBX", layer);
private static void AddStateTransition(string path, AnimatorControllerLayer layer)
AnimatorStateMachine sm = layer.stateM
//根据动画文件读取它的AnimationClip对象
AnimationClip newClip = AssetDatabase.LoadAssetAtPath(path, typeof(AnimationClip)) as AnimationC
////取出动画名子 添加到state里面
AnimatorState state = sm.AddState(newClip.name);
state.motion = newC
Debug.Log(state.motion);
//把state添加在layer里面
AnimatorStateTransition trans = sm.AddAnyStateTransition(state);
1234567891011121314151617181920212223242526272829303132333435
using UnityEngine;using System.Collections;using UnityEditor;using UnityEditor.Animations;//5.0改变 UnityEditorI并不能用了。&public class CreateAnimatorController : Editor {&&&&[MenuItem("ModelConfig/创建Controller")]&&&&static void DoCreateAnimationAssets()&&&&{&&&&&&&&//创建Controller&&&&&&&&AnimatorController animatorController = AnimatorController.CreateAnimatorControllerAtPath("Assets/animation.controller");&&&&&&&&//得到它的Layer&&&&&&&&AnimatorControllerLayer layer = animatorController.layers[0];&&&&&&&&//将动画保存到 AnimatorController中&&&&&&&&AddStateTransition("Assets/Art Resources/Character/moster-002/basic/moster-002@run.FBX", layer);&&&&&&&&AddStateTransition("Assets/Art Resources/Character/moster-002/basic/moster-002@stand.FBX", layer);&&&&&&&&AddStateTransition("Assets/Art Resources/Character/moster-002/basic/moster-002@born.FBX", layer);&&&&}&&&&&private static void AddStateTransition(string path, AnimatorControllerLayer layer)&&&&{&&&&&&&&AnimatorStateMachine sm = layer.stateMachine;&&&&&&&&//根据动画文件读取它的AnimationClip对象&&&&&&&&AnimationClip newClip = AssetDatabase.LoadAssetAtPath(path, typeof(AnimationClip)) as AnimationClip;&&&&&&&&&&&&&&&&////取出动画名子 添加到state里面&&&&&&&&AnimatorState state = sm.AddState(newClip.name);&&&&&&&&//5.0改变&&&&&&&&state.motion = newClip;&&&&&&&&Debug.Log(state.motion);&&&&&&&&//把state添加在layer里面&&&&&&&&AnimatorStateTransition trans = sm.AddAnyStateTransition(state);&&&&}}
state.motion这样直接赋值的话。需要注意下动作fbx的设置。需要是如下的设置AnimationType设置为Generic通用类型。如下
转载请注明: &
or分享 (0)
本站所有内容如未标明转载的内容,均为原创内容。转载请注明来源!
发表我的评论本视频教程是由cgcookie机构出品的Unity动画图示训练视频教程,UnityCookie Breakout Learning the Animation View in Unity,大小:125 MB,格式:MP4视频格式,附工程源文件,教程使用软件:Unity,作者:Wes McDermott,语言:英语。Unity3D是一个让你轻松创作的多平台的游戏开发工具,是一个全面整合的专业游戏引擎。Unity代表了一个质的飞跃——内置的光照贴图(lightmapping)、遮挡剔除(occlusion culling)和调试器。编辑器经过彻底革新,让你可以获得卓越的性能体验。不可思议、无法阻挡的产品已经看到了曙光。Unity是一款跨平台的游戏开发工具,从一开始就被设计成易于使用的产品。作为一个完全集成的专业级应用,Unity还包含了价值数百万美元的功能强大的游戏引擎。Unity 4作为一个游戏开发工具,它的设计主旨就是让你能够创建令人惊讶的游戏。如果你之前尝试过Unity,请查看Unity 3都做了哪些更新。如果你是第一次尝试,那就好好看看吧,看Unity都能为你带来什么。Unity作为一种开发环境,可让你脱离传统的游戏开发方式,以一种更简单的方式专注于你的游戏开发。开发网络游戏、移动游戏、单机游戏,Unity都能完全胜任。UnityCookie Breakout Learning the Animation View in UnityLearn how to work with animations in UnityIn this lesson, we will take a look at the Animation View in Unity. The Animation View allows you to create and modify Animation Clips directly inside Unity. Animation Clips are the building blocks of animation in Unity. Each clip is a contained component of animation and they can be edited and combined in many ways to produce full animations and interactions for your project. The Animation View works just like the graph editor you’re already familiar with in your 3D animation package of choice. You can create keyframes on a graph, edit interpolation and set pre/post behaviors for animation data such as loop and ping-pong.
-----------------------------------------------------------------
资源名称: Unity动画图示训练视频教程
本站编号:&&VX1782
百度网盘:百度网盘2:百度网盘:百度网盘2:城通网盘:
解压密码:&&
更多的信息: 待补充
如果下载地址失效,请发邮件到1365人阅读
【Unity3D】(30)
这几天体验了一把UGUI,用起来感觉棒棒哒。直接进入正题吧,如果要写一个全面的教程,估计还是要花点精
力,如果要写好,就更不容易。那么,我还是以给自己做笔记为目的来写这篇文章吧,还是比较适合我这种小菜的哈
本文链接:&
作者: 小明& & 邮箱:&
下面真的进入正题了^^
1.Animation
Animation是以前的系统遗留下来的,而在我开始学习Unity的时候已经基本上很少用这个系统了,但是现在要做UI,
而且是UGUI,那我就要重新学过。
注意:在调整曲线之前,如果你设置的是位置动画,那么请务必先设置好锚点自适应。不然在你设置锚点后,动画播
放的还是设置之前的位置。(这是比NGUI坑的地方,不过注意下就好了)
下面说说Animation的一些常用操作吧:
说到曲线,不得不说这一点还是NGUI的方便一点,有模板。UGUI得自己调,还总调不好。不过在充分利用一些功能
后,也基本能够达到要求,不过稍费时一点。还是直接进入正题吧。
比如我要改变Image的Color的a通道,也就是透明度。在选好Color后,会出现如图:
在上图中,标记的序号1&是选中的游戏物体。2&是我们不需要的,要删掉它们,但是在改变比如scale的时候就不能删
除不需要的属性了。3&是我们要改变的属性。4&我们选中它,编辑曲线。
比如我们需要编辑一个呼吸动画(也就是NGUI里的PingPong)可以这样:
1.调整最后的key的time,比如我调整为2秒一个周期。
2.增加一个key,设置值为value=0,time=1。如图:
3.这个时候回出现如下图的情况,我原来就不之所措,但是后面才知道&只要拉伸右边与下边的滚动条就可以再次让
整个曲线出现在我们面前。如图:
4.这个时候两边的曲线是弯曲的,但是我们想要把它们变直(让动画的变化率不变),右键中间的key,选择
Left&Tangent里的Linear就能让左边曲线变直线,同样的方法使右边曲线也变直。如图:
如果想要更复杂的效果,也是增加key,然后调整(通过其他的一些选项)
最后,该动画默认是循环播放的,如果你不需要就在Project面板中找到该动画把Loop&Time勾掉就ok。
2.Animator
通过上面的操作,我们有了一个Animator&Controller,并且自动挂在Image上了。下面我们打开Animator,Window-
&Animator。
我们会看到如图:
意思就是自动播放。但是我们经常不希望自动播放,那么可以右键新建一个空的状态,并设为默认。
下面该涉及到代码了!!
我根据“需求”来阐述:
需求1:&_&我不想再设置参数播放动画了
我们想再代码中调用播放动画,怎么做呢?一般来说,会想到用参数,然后用SetBool,SetTrigger等,这样也行。不
过还有更简单的,就是anim.Play函数,直接可以播放指定动画名,这样就不需要设置管参数什么的之类的多余的操
好,接着说。如果你在播放一个动画后,再次播放时发现,诶?怎么不动了?那是因为该动画没有退出播放,你再播
放就不起作用了。解决办法是,在该动画上右键选择Make&Transition连接到我们最开始新建的默认State(橘色的那
个),这样在动画播放完后,就过渡到了橘色的默认状态了,当你再播放的时候也没有问题了。
需求2:O(∩_∩)我想让不同的状态在同一个状态机中同时播放&
这时我们就可以发挥层的作用了(当然层的作用不止这个)。首先选中Layers(在左上角),会看到默认的
是Base&Layer。我们新建一个My&Layer,有什么不同??答:1.名字不同&2.weight&不同&3.状态机不同。如图:
我们应该注意到,红线的地方Base&Layer是实心的,表示权重(weight)是1,而My&Layer是空心的,表示权重为0。这
个weight的意思就是执行百分之几的意思,如果为0,就是不执行,为1就是执行完整,为0.5,就是执行一半。现在
我们想要完整执行,那么我们点击设设置按钮,设置weight为1。
那么下面我们可以自行按照以上所述添加要重复播放的动画到新的My&Layer层中就可以了。而调用的函数还
是anim.Play,不过这次需要两个参数anim.Play(动画名,层的索引),层的索引通过anim.GetLayerIndex(层名)得到。
有个问题是这么多字符串不好管理呀,那么可以建一个AnimatorConfig类来管理字符串,如图:
个人还是比较喜欢UGUI,毕竟是unity亲生的,相信后面会越来越好的
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:33300次
排名:千里之外
原创:52篇
转载:48篇
(1)(2)(5)(3)(8)(4)(4)(4)(8)(5)(2)(1)(1)(2)(2)(3)(3)(2)(1)(42)}

我要回帖

更多关于 pingpong官网 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信