位置: 编程技术 - 正文

Unity3D游戏开发之动画脚本 Animation Scripting(Unity3D游戏开发引擎)

编辑:rootadmin

推荐整理分享Unity3D游戏开发之动画脚本 Animation Scripting(Unity3D游戏开发引擎),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:Unity3D游戏开发pdf,Unity3D游戏开发标准教程吴亚峰于复兴人民邮电出版社,Unity3D游戏开发毕业论文,Unity3D游戏开发引擎,Unity3D游戏开发毕业论文,Unity3D游戏开发(第2版),Unity3D游戏开发(第2版),Unity3D游戏开发(第2版),内容如对您有帮助,希望把文章链接给更多的朋友!

动画脚本 Animation Scripting

有时你需要程序化的驱动你的角色骨骼. 例如你可能需要你的角色的头注视3d空间的某个点. 这个活最好让脚本来干. 幸运的是, Unity做这个很容易. 在Unity 中所有骨骼来驱动蒙皮网&#;(skinned mesh)的变换(Transforms). 因而你可以给角色的骨骼写脚本,就和其他GameObject一样.很重要的一点是动画系统updates the Transforms 是在Update() function调用之后 ,LateUpdate() function 调用之前. 因而如果你要调用 LookAt() function 你应该在 LateUpdate() 中调用,覆盖动画播放.布娃娃系统Ragdolls 也是用同样的方法制作出来的. 你可以简单的把刚性物体(Rigidbodies), 角色关节(Character Joints) 和 胶囊碰撞体(Capsule Colliders)连接给不同的骨骼. 这样物理系统就可以作用于蒙皮角色(skinned character).动画播放时为了让角色受动画系统的控制,可以设置物体为动力学物体(isKinematic),当需要让他受物理控制时把该属性取消。角色死亡时,可以销毁原始模型,创建一个布娃娃代替。同样,飞机车辆等的爆炸效果,最好也是替换成另外一个由一批带有刚体的部件组成的预制件,部件上可以增加一些粒子特效来实现烟雾火焰等效果。动画融合(Animation Blending)可以实现动作转化时的平滑过渡。动画混合(Animation Mixing)和附加动画(Additive Animations)可以削减游戏创建的动画片段的数量。动画可以和其他动画以各种组合一起使用。让一些动画只应用给身体的一部分。例如,有个一个挥手动画,想要在空闲角色或正行走的角色播放挥手动画。没有动画混合,您必须创建两个手挥舞着动画:一个用于空闲,一个用于行走。而通过调用AddMixingTransform(),叠加动画混合变换到动画。不过,如果你添加肩膀变换作为混合变换,来做挥手动画,那么挥手动画将从肩膀位置处受完全控制,身体的其余部分将不会受到它的影响,将继续播放空闲或行走动画。因此,只需要一个挥手动画。

?

1

2

3

var mixTransform : Transform = transform.Find(“root/upper_body/left_shoulder”);

animation[“wave_hand”].AddMixingTransform(mixTransform);

附加动画(Additive Animations)允许你在顶层覆盖其他所有可能播放的动画的效果当你制作一个附加动画时, Unity将计算动画片断里的第一帧 (first frame)和当前帧(current frame)的差异. 然后它将在所有其他播放的动画之上应用这个差异【狗刨学习网】附加动画和动画混合都可以让我们减少对游戏中要制作动画的数量,尤其对于一些表情动画现在你只需要制作一个左倾( lean-left) 和右倾( lean-right)动画. Unity将为此倾斜动画新建一个层并置于walk, idle 或 run循环的层级之上.叠加型动画通过将两个动画彼此相减进行计算,并将其存储为两个动画的差&#;。当使用叠加动画时,在每个使用叠加动画的变换上也在播放一些其他非叠加动画,这是至关重要的。否则,动画将添加在最后一帧的结果上面,这当然不是你想要的。动画层(Animation Layers)例如有一个射击动画,一个空闲和行走循环动画,想要在行走和空闲动画之间连续过渡,基于玩家的速度。但当玩家射击时,仅显示射击动画,因此,射击动画基本上有更高优先级。要做到这点最简单的方法是在射击时简单的保持行走和空闲动画,然后我们需要确保射击动画比空闲和行走动画在更高的层。这意思是射击动画将首先接收融合权重。行走和空闲动画仅当射击动画不使用融合权重%时,接收权重。因此,交叉淡入淡出射击动画时,权重将从0开始很短时间内变为%,在开始时步行和空闲层仍然会收到融合权重,但当射击动画完全切入时,它们不再接收权重,这正是我们所需要的!

?

Unity3D游戏开发之动画脚本 Animation Scripting(Unity3D游戏开发引擎)

function Start () {

//循环播放

animation.wrapMode = WrapMode.Loop;

//射击动作不循环

animation["shoot"].wrapMode = WrapMode.Once;

// idle 和walk 设置低优先级默认为.

animation["shoot"].layer = 1;

//停止

animation.Stop();

}

function Update () {

//按键

if (Mathf.Abs(Input.GetAxis("Vertical")) > 0.1)

animation.CrossFade("walk");

else

animation.CrossFade("idle");

// 开火

if (Input.GetButtonDown ("Fire1"))

animation.CrossFade("shoot");

}

声明:此篇文档时来自于【狗刨学习网】社区,是网友自行发布的Unity3D学习文章,如果有什么内容侵犯了你的相关权益,请与官方沟通,我们会即时处理。

C#程序员整理的Unity 3D笔记(九):Unity 3D测试浅析 Unity中的组件上的类,是不能new的,必须通过组件去获取,new出来的东西是null。if(amainfo.nameHash==Animator.StringToHash(BaseLayer.idle)){m_animator.SetBool(Run,true);}代

Unity技巧集合 这篇文章将收集unity的相关技巧,会不断地更新内容。1)保存运行中的状态unity在运行状态时是不能够保存的。但在运行时编辑的时候,有时会发现比较

Unity3D游戏开发之详解 Animation类和Animator类 Unity3D游戏开发之详解Animation类和Animator类Animation类animation组件用于播放动画。可以指定动画剪辑到动画组件并从脚本控制动画播放。在Unity的动画系统基

标签: Unity3D游戏开发引擎

本文链接地址:https://www.jiuchutong.com/biancheng/369392.html 转载请保留说明!

上一篇:Scut游戏服务器引擎之Unity3d接入(scumpve服务器)

下一篇:C#程序员整理的Unity 3D笔记(九):Unity 3D测试浅析(c#程序代码大全)

  • 个体工商户工商年报资金数额填啥
  • 老板的报销分录怎么写
  • 差旅费抵税怎么算
  • 餐饮业加计递减怎么算
  • 科技公司的成本如何核算
  • 房地产开发企业预缴增值税
  • 网上车辆购置税缴纳
  • 有限责任公司应当具备的条件
  • 我们应该怎么做才能成功
  • 补提以前年度折旧
  • 涉外收入申报单填写模板
  • 企业法人投资股4 账户
  • 负债减少在什么方
  • 虚开增值税发票具体操作是怎样的?
  • 未达起征点纳税申报表怎么填
  • 商业承兑汇票贴现转让
  • 农民工工资怎么交个人所得税
  • 拍卖物品的流程
  • 现金分红和红利再投是什么意思
  • 企业成本费用包括哪些
  • 公司为员工承担房租
  • 森林植被恢复费标准
  • 收到外单位委托办事的资金应该计入
  • 银行对公账户收款码
  • windows 11 正式版实际使用体验如何?
  • 自定义修改器
  • 长期借款转为实收资本怎么做账
  • php计算数组中值怎么算
  • 企业非流动资产占比多说明什么
  • 预收账款和应收账款的账务处理
  • win11开机后开始菜单没反应
  • PyTorch 深度学习实战 | DIEN 模拟兴趣演化的序列网络
  • vnc viewer连接windows
  • phpcms怎么样
  • 事业单位接受捐赠物资会计处理
  • 红票申请单怎么开
  • 固定资产一次性折旧账务处理
  • 绩效奖个人所得税是多少
  • 零申报社保是否可以报销
  • 建设工程合同从完成承包的内容进行划分
  • sqlserver2016使用方法
  • 生产成本帐
  • 财务报表没申报怎么操作呢
  • 上年未结转的成本今年可以结转吗
  • 房地产企业土地增值税预缴
  • 保证金159001收益如何计算
  • 银行承兑汇票贴现利息怎么算
  • 进项转出再转入
  • 没有进项发票开具销项发票怎么做账?
  • 账务处理程序的种类及各自的适用范围
  • 会计账务处理程序有哪些类型
  • 公司分期付款买车怎么抵税
  • 外购商品科目设置
  • 小企业会计准则适用于哪些企业
  • 未达起征点怎么报税
  • 研发支出资本化支出在资产负债表哪里体现
  • win7旗舰版系统重装
  • vs 2008
  • centos怎么配置ssh
  • linux去掉文件换行符
  • red hat linux怎么用
  • 在windows下把绿色程序添加到鼠标右键的方法
  • ubuntu怎样调出命令行
  • ubuntu系统怎么安装微信
  • linux修改用户名
  • win8如何输入命令
  • win8无法更新到win10
  • [置顶]从lv2开始开挂的原勇者候悠闲的异世界生活
  • AndroidSharedpreference数据共享
  • android开发最全教程
  • angular keyup
  • shell脚本用法
  • js foreach倒序
  • 税票上的开票员是谁
  • 市直单位正职是市单位一把手吗
  • 福建省税务局举报中心
  • 四川国税网上申报大厅
  • 海口税务服务大厅
  • 国家发票真伪查验
  • 从租计征房产税怎么申报
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设