Exemple #1
0
    void Awake()
    {
        model_ = this.GetComponentInChildren <MMD4MecanimModel>();
        if (!model_)
        {
            return;
        }

        var originalMorphHelperDict = new Dictionary <string, MMD4MecanimMorphHelper>();

        foreach (var morphHelper in model_.GetComponents <MMD4MecanimMorphHelper>())
        {
            originalMorphHelperDict.Add(morphHelper.morphName, morphHelper);
        }

        foreach (var blinkParam in blinkParams)
        {
            if (morphHelperDict_.ContainsKey(blinkParam.morphName))
            {
                continue;
            }
            MMD4MecanimMorphHelper morphHelper;
            originalMorphHelperDict.TryGetValue(blinkParam.morphName, out morphHelper);
            if (!morphHelper)
            {
                morphHelper           = model_.gameObject.AddComponent <MMD4MecanimMorphHelper>();
                morphHelper.morphName = blinkParam.morphName;
            }
            morphHelperDict_.Add(blinkParam.morphName, morphHelper);
        }
    }
 protected virtual void Start()
 {
     _model = GetComponent <MMD4MecanimModel>();
     if (_model != null)
     {
         _model.Initialize();
     }
 }
Exemple #3
0
    void _UpdateMorph(string morphName)
    {
        if (_validateMorphBits == 0)            // Collect enable morph.
        {
            MMD4MecanimModel model = GetComponent <MMD4MecanimModel>();
            if (model != null && hiraMorphNameList != null)
            {
                for (int i = 0; i < hiraMorphNameList.Count; ++i)
                {
                    if (model.GetMorph(hiraMorphNameList[i]) != null)
                    {
                        _validateMorphBits |= 1 << i;
                    }
                }
            }
            if (_validateMorphBits == 0)
            {
                _validateMorphBits = 0x1f;
            }
        }

        float morphWeight = 0.0f;

        if (!string.IsNullOrEmpty(morphName))              // Emulation morph using 'a'
        {
            morphWeight = 1.0f;
            if (hiraMorphNameList != null)
            {
                if (morphName == hiraMorphNameList[1] && ((_validateMorphBits & 0x2) == 0))
                {
                    morphName   = hiraMorphNameList[0];
                    morphWeight = 0.5f;
                }
                else if (morphName == hiraMorphNameList[2] && ((_validateMorphBits & 0x4) == 0))
                {
                    morphName   = hiraMorphNameList[0];
                    morphWeight = 0.3f;
                }
                else if (morphName == hiraMorphNameList[3] && ((_validateMorphBits & 0x8) == 0))
                {
                    morphName   = hiraMorphNameList[0];
                    morphWeight = 0.5f;
                }
                else if (morphName == hiraMorphNameList[4] && ((_validateMorphBits & 0x10) == 0))
                {
                    morphName   = hiraMorphNameList[0];
                    morphWeight = 0.8f;
                }
            }
        }

        base.morphName   = morphName;
        base.morphWeight = morphWeight;
    }
Exemple #4
0
    void Start()
    {
        EyesPosX       = 20;
        EyesPosY       = 7;
        BodyPosYOffset = Body.transform.position.y;

        Init();

        // 初期表情
        Model = GetComponent <MMD4MecanimModel>();
        Model.GetMorph("じと目").weight  = 0.7f;
        Model.GetMorph("眼球縮小").weight = 0.2f;
    }
    void _Initialize()
    {
        if (_initialized)
        {
            return;
        }

        _initialized = true;
        _model       = this.gameObject.GetComponent <MMD4MecanimModel>();
        if (_model == null)
        {
            return;
        }

        _model.Initialize();

        MMD4MecanimAnim.InitializeAnimModel(this);
    }
    void Awake()
    {
        model_ = this.GetComponentInChildren<MMD4MecanimModel>();
        if (!model_) { return; }

        var originalMorphHelperDict = new Dictionary<string, MMD4MecanimMorphHelper>();
        foreach (var morphHelper in model_.GetComponents<MMD4MecanimMorphHelper>()) {
            originalMorphHelperDict.Add(morphHelper.morphName, morphHelper);
        }

        foreach (var blinkParam in blinkParams) {
            if (morphHelperDict_.ContainsKey(blinkParam.morphName)) { continue; }
            MMD4MecanimMorphHelper morphHelper;
            originalMorphHelperDict.TryGetValue(blinkParam.morphName, out morphHelper);
            if (!morphHelper) {
                morphHelper = model_.gameObject.AddComponent<MMD4MecanimMorphHelper>();
                morphHelper.morphName = blinkParam.morphName;
            }
            morphHelperDict_.Add(blinkParam.morphName, morphHelper);
        }
    }