Unity 3d人形动画 一边走一边吹泡泡

资源下载并导入:

Robot Kyle

导入标准资源库并修改资源库过时的错误

>>点击此处查看教程

这样就解决了

我们都知道,标准资源包里的人物,是自带脚本的。

而这些脚本,也可以应用到这个没有脚本的机器人上面,只需要绑定到上面就可以了。

可以看到,为它添加了控制脚本后,机器人凯莉自动添加了很多组件

我们需要对这些组件的参数进行一些微调

调整身高,质心,半径

离地高度检测

由于人形骨架在骨骼结构上的相似性,用户可以将动画效果从一个人形骨架映射到另一个人形骨架

从而实现动画重定向功能。

除了极少数情况之外,人物模型均具有相同的基本结构

即头部、躯干、四肢等。

现在的人站立时并没有动画效果,一动不动,我们可以给它添加一个动画

出现了一个问题:

凯莉站立的动画效果并没有正常显示

凯莉你倒是摇一下啊!!

Robot模型在没有Avatar的情况下是无法将动画直接应用模型上的,如果导入的模型没有Avatar,按照图示操作创建

解决方法:

Eng:

绿色表示正常

如图,这样应该就没问题了,再把Avatar(n.化身 n.阿凡达)绑定上

效果

凯莉终于晃了起来

吐槽一下

做一个吹泡泡的动画

新建一个场景,再新建一个动画状态集

创建一个空状态,改成walk,选择一个walk动作

给角色指定动画状态集

效果

人物走了起来

添加参数

选定动画

人在运动的过程中,这个曲线一直在变

我现在就要让这个值作用到我吹泡泡的大小上面

重命名

创建一个bubble球体并放到人的嘴前面

把它作为机器人的子对象

创建一个曲线控制脚本

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class CurveCtrl : MonoBehaviour
{
    public Transform bubble;//公开应该对象,待会设置成bubble
    Vector3 originalScale;//设定初始泡泡大小

    // Start is called before the first frame update
    void Start()
    {
        originalScale = bubble.localScale;
    }

    // Update is called once per frame
    void Update()
    {
        float curve = GetComponent<Animator>().GetFloat("CurveValue");//通过调用安妮梅特组件的GetFloat函数来获取值,来修改泡泡的大小
        bubble.localScale = new Vector3(originalScale.x * curve, originalScale.y * curve, originalScale.z * curve);//根据走路节奏调整泡泡大小,让其或大或小
    }
}

把脚本绑定到人上,然后记得指定那个泡泡

*  ,老师又瞎鸡儿讲。当我啥也没说,不能这么做,要利用路径来获取

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class CurveCtrl : MonoBehaviour
{
    Transform bubble;
    Vector3 originalScale;//设定初始泡泡大小

    // Start is called before the first frame update
    void Start()
    {
        bubble = transform.Find("Root/Ribs/Neck/Head/bubble");//通过路径来获取bubble
        originalScale = bubble.localScale;
    }

    // Update is called once per frame
    void Update()
    {
        float curve = GetComponent<Animator>().GetFloat("CurveValue");//通过调用安妮梅特组件的GetFloat函数来获取值,来修改泡泡的大小
        
        bubble.localScale = new Vector3(originalScale.x * curve, originalScale.y * curve, originalScale.z * curve);//根据走路节奏调整泡泡大小,让其或大或小

    }
}

效果

这个机器人看起来像个痞仔,桀骜不驯的样子,有没有,泡泡都是歪的

(18:48 终于做完了,这一节课 1/4 的内容做了半天,心累)

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值