美文网首页
解决AnimationClip.SetCurve RectTra

解决AnimationClip.SetCurve RectTra

作者: su9257_海澜 | 来源:发表于2018-05-01 02:45 被阅读107次

搬迁原来博客海澜CSDN

在项目开发中有需求动态创建Animationclip设置其中的AnimationCure曲线,但是其中按照官方给出的示例方式设置一些参数的时候会出现Missing丢失的情况

经过查找一些资料发现这根他的命名方式可能有关系,如下 这种命名方式第一个字母会自动大写

这种也会保持大写

如下但是这种命名方式会自动把m_剔除掉,然后首字母自动大写,所以我猜测在unity内部对于组建属性的命名有些可能是采用匈牙利命名法,这种命名方式再早期C++比较常见
所以参数改成匈牙利命名法

完美解决~~

附带unity官方API示例
using UnityEngine;  
using System.Collections;  
  
[RequireComponent(typeof(Animation))]  
public class ExampleClass : MonoBehaviour {  
    public Animation anim;  
    void Start() {  
        anim = GetComponent<Animation>();  
        AnimationCurve curve = AnimationCurve.Linear(0.0F, 1.0F, 2.0F, 0.0F);  
        AnimationClip clip = new AnimationClip();  
        clip.legacy = true;  
        clip.SetCurve("", typeof(Transform), "localPosition.x", curve);  
        anim.AddClip(clip, "test");  
        anim.Play("test");  
    }  
}  
// This script example shows how SetCurve() can be used  
using UnityEngine;  
using System.Collections;  
  
public class ExampleClass : MonoBehaviour  
{  
    // Animate the position and color of the GameObject  
    public void Start()  
    {  
        Animation anim = GetComponent<Animation>();  
        AnimationCurve curve;  
  
        // create a new AnimationClip  
        AnimationClip clip = new AnimationClip();  
        clip.legacy = true;  
  
        // create a curve to move the GameObject and assign to the clip  
        Keyframe[] keys;  
        keys = new Keyframe[3];  
        keys[0] = new Keyframe(0.0f, 0.0f);  
        keys[1] = new Keyframe(1.0f, 1.5f);  
        keys[2] = new Keyframe(2.0f, 0.0f);  
        curve = new AnimationCurve(keys);  
        clip.SetCurve("", typeof(Transform), "localPosition.x", curve);  
  
        // update the clip to a change the red color  
        curve = AnimationCurve.Linear(0.0f, 1.0f, 2.0f, 0.0f);  
        clip.SetCurve("", typeof(Material), "_Color.r", curve);  
  
        // now animate the GameObject  
        anim.AddClip(clip, clip.name);  
        anim.Play(clip.name);  
    }  
}  

相关文章

  • 解决AnimationClip.SetCurve RectTra

    搬迁原来博客海澜CSDN 在项目开发中有需求动态创建Animationclip设置其中的AnimationCure...

  • UGUI Anchor reference point 笔记

    先把 Unity 官方文档列出来The position of the pivot of this RectTra...

  • 【解决】

    解决理想 解决生活 解决让我平凡的错 解决孤单 解决折磨 解决一开始就着了的魔 解决饥饿 解决战火 解决核时代被抽...

  • 报错集锦

    问题一: 解决: 问题二: 解决: 问题三: 解决: 问题四: 解决: 问题五: 解决:

  • 解决 问题 解决

    你解决一个问题,就像当于解决无数个问题。听到这句话的时候我已经毕业了。回想之前的学习经历,一张试卷,碰到难题就放那...

  • some

    枪解决了, 炮解决了, 人解决了, 衣服解决了, 时间解决了, 地方解决了, 就看着车马飞驰, 结局降临, 吾事已毕。

  • 我还是在这里

    生活不能解决的事情,日记可以解决;日记不能解决的事情,思想可以解决;思想不能解决的事情,放空可以解决;放...

  • 页面布局(三栏布局)

    浮动解决方案 绝对定位解决方案 flexbox解决方案 表格布局解决方案 网格布局解决方案

  • 忙起来

    忙碌,能解决很多问题 解决你胡思乱想的问题 解决你彷徨迷茫的问题 解决你痴心妄想的问题 解决你自卑弱小的问题 解决...

  • ……纵情沉浸于清愁与静谧吧

    生活不能解决的事情,日记可以解决;日记不能解决的事情,思想可以解决;思想不能解决的事情,放空可以解决;放空不...

网友评论

      本文标题:解决AnimationClip.SetCurve RectTra

      本文链接:https://www.haomeiwen.com/subject/mlxxrftx.html