コード例 #1
0
 /// <summary>
 /// カメラがシーンにレンダリング後に呼ばれる
 /// </summary>
 void OnRenderObject()
 {
     if (live2DModel == null)
     {
         return;
     }
     live2DModel.setMatrix(transform.localToWorldMatrix * live2DCanvasPos);
     // アプリが終了していた場合
     if (!Application.isPlaying)
     {
         live2DModel.update();
         live2DModel.draw();
         return;
     }
     // 再生中のモーションからモデルパラメータを更新
     if (motionManager != null)
     {
         motionManager.updateParam(live2DModel);
     }
     // ポーズの設定
     if (pose != null)
     {
         pose.updateParam(live2DModel);
     }
     // 物理演算の設定
     if (physics != null)
     {
         physics.updateParam(live2DModel);
     }
     // 頂点の更新
     live2DModel.update();
     // モデルの描画
     live2DModel.draw();
 }
コード例 #2
0
    void OnRenderObject()
    {
        if (live2DModel == null)
        {
            return;
        }
        live2DModel.setMatrix(transform.localToWorldMatrix * live2DCanvasPos);

        if (!Application.isPlaying)
        {
            live2DModel.update();
            live2DModel.draw();
            return;
        }

        if (motionMgr.isFinished())
        {
            motionMgr.startMotion(motion);
        }

        motionMgr.updateParam(live2DModel);

        live2DModel.update();
        live2DModel.draw();
    }
コード例 #3
0
    void OnRenderObject()
    {
        if (live2DModel == null)
        {
            return;
        }
        live2DModel.setMatrix(transform.localToWorldMatrix * live2DCanvasPos);

        if (!Application.isPlaying)
        {
            live2DModel.update();
            live2DModel.draw();
            return;
        }

        // motion播完或是flag改變
        if (motionMgr.isFinished() || mtnBehaviour.changeflg == true)
        {
            // load motion
            motion = Live2DMotion.loadMotion(motionFile.bytes);
            // 播放motion
            motionMgr.startMotion(motion);
            // 設置flag為off
            mtnBehaviour.changeflg = false;
        }

        motionMgr.updateParam(live2DModel);

        live2DModel.update();
        live2DModel.draw();
    }
コード例 #4
0
    private KrLive2DLipSync m_pLipSync              = null;                 // process for lip sync

    //:::::::::::::::::::::::::::::::::::::::::::::::::::::
    // UNITY FUNCTION
    //:::::::::::::::::::::::::::::::::::::::::::::::::::::
    // @Brief : Update
    void Update()
    {
        // Update motion parameter
        m_pIdleMotionManager.updateParam(m_pLive2dModel);
        m_pMotionManager.updateParam(m_pLive2dModel);

        LipSync();

        m_pLive2dModel.update();

        // Render type is Live2D.L2D_RENDER_DRAW_MESH
        if (m_pLive2dModel.getRenderMode() == Live2D.L2D_RENDER_DRAW_MESH)
        {
            m_pLive2dModel.draw();
        }
    }
コード例 #5
0
ファイル: live2d_setting.cs プロジェクト: johndpope/game-1
    void OnRenderObject()
    {
        live2DModel.draw();

        var partList = live2DModel.getModelImpl().getPartsDataList();

        foreach (var item in partList)
        {
            live2DModel.setPartsOpacity(item.getPartsDataID().ToString(), modelOpacity);
            if (item.getPartsDataID().ToString() == "PARTS_WEAPON01")
            {
                return;
            }
            if (item.getPartsDataID().ToString() == "PARTS_WEAPON02")
            {
                return;
            }
            if (item.getPartsDataID().ToString() == "PARTS_WEAPON03")
            {
                return;
            }
            if (item.getPartsDataID().ToString() == "PARTS_WEAPON04")
            {
                return;
            }
            if (item.getPartsDataID().ToString() == "PARTS_WEAPON05")
            {
                return;
            }
            if (item.getPartsDataID().ToString() == "PARTS_WEAPON06")
            {
                return;
            }
        }
    }
コード例 #6
0
ファイル: SimpleModel.cs プロジェクト: DevXSlayer/FYPJ2
 void OnRenderObject()
 {
     if (live2DModel == null)
     {
         load();
     }
     live2DModel.draw();
 }
コード例 #7
0
 void Render()
 {
     if (live2DModel == null)
     {
         return;
     }
     live2DModel.draw();
 }
コード例 #8
0
 void OnRenderObject()
 {
     if (live2DModel == null)
     {
         return;
     }
     live2DModel.draw();
 }
コード例 #9
0
ファイル: L2D.cs プロジェクト: tudou167/MyCode
 private void OnRenderObject()
 {
     if (modelUnity == null)
     {
         return;
     }
     modelUnity.draw();
 }
コード例 #10
0
    void Update()
    {
        if (live2DModel == null)
        {
            return;
        }
        live2DModel.setMatrix(transform.localToWorldMatrix * live2DCanvasPos);

        if (!Application.isPlaying)
        {
            live2DModel.update();
            live2DModel.draw();
            return;
        }
        float volume = 0;

        if (smoothing)
        {
            float currentVolume = GetCurrentVolume(GetComponent <AudioSource>());

            if (Mathf.Abs(lastVolume - currentVolume) < 0.2f)
            {
                volume = lastVolume * 0.9f + currentVolume * 0.1f;
            }
            else if (lastVolume - currentVolume > 0.2f)
            {
                volume = lastVolume * 0.7f + currentVolume * 0.3f;
            }
            else
            {
                volume = lastVolume * 0.2f + currentVolume * 0.8f;
            }
            lastVolume = volume;
        }
        else
        {
            volume = GetCurrentVolume(GetComponent <AudioSource>());
        }


        live2DModel.setParamFloat("PARAM_MOUTH_OPEN_Y", volume * scaleVolume);


        live2DModel.update();
    }
コード例 #11
0
    void OnRenderObject()
    {
        if (_live2DModel == null)
        {
            _Load();
        }

        _live2DModel.draw();
    }
コード例 #12
0
    private IEnumerator Routine_Main()
    {
        while (true)
        {
            while (true)
            {
                if (live2DModel == null)
                {
                    break;
                }
                live2DModel.setMatrix(transform.localToWorldMatrix * live2DCanvasPos);

                if (!Application.isPlaying)
                {
                    live2DModel.update();
                    break;
                }

                if (motionMgr.isFinished() || main != _State)
                {
                    //歩き
                    if (_State == EnemyState.Walk)
                    {
                        motionMgr.startMotion(motions[0]);
                    }
                }

                if (main != _State)
                {
                    //噛みつき
                    if (_State == EnemyState.Attack)
                    {
                        motionMgr.startMotion(motions[1]);
                    }
                    //怯み
                    else if (_State == EnemyState.Stop)
                    {
                        motionMgr.startMotion(motions[2]);
                    }
                    //停止
                    if (_State == EnemyState.Wait)
                    {
                        motionMgr.startMotion(motions[3]);
                    }
                }

                main = _State;

                motionMgr.updateParam(live2DModel);
                live2DModel.update();
                live2DModel.draw();

                yield return(null);
            }
            yield return(null);
        }
    }
コード例 #13
0
 void OnRenderObject()
 {
     if (live2DModel == null)
     {
         load();
     }
     if (live2DModel.getRenderMode() == Live2D.L2D_RENDER_DRAW_MESH_NOW)
     {
         live2DModel.draw();
     }
 }
コード例 #14
0
    void OnRenderObject()
    {
        if (live2DModel == null)
        {
            load();
        }

        live2DModel.setMatrix(transform.localToWorldMatrix * live2DCanvasPos);


        if (!Application.isPlaying)
        {
            live2DModel.update();
            live2DModel.draw();
            return;
        }

        dragMgr.update();
        live2DModel.setParamFloat("PARAM_ANGLE_X", dragMgr.getX() * 30);
        live2DModel.setParamFloat("PARAM_ANGLE_Y", dragMgr.getY() * 30);

        live2DModel.setParamFloat("PARAM_BODY_ANGLE_X", dragMgr.getX() * 10);

        live2DModel.setParamFloat("PARAM_EYE_BALL_X", -dragMgr.getX());
        live2DModel.setParamFloat("PARAM_EYE_BALL_Y", -dragMgr.getY());

        double timeSec = UtSystem.getUserTimeMSec() / 1000.0;
        double t       = timeSec * 2 * Math.PI;

        live2DModel.setParamFloat("PARAM_BREATH", (float)(0.5f + 0.5f * Math.Sin(t / 3.0)));

        eyeBlink.setParam(live2DModel);

        if (physics != null)
        {
            physics.updateParam(live2DModel);
        }

        live2DModel.update();
        live2DModel.draw();
    }
コード例 #15
0
    void OnRenderObject()
    {
        Matrix4x4 m1 = Matrix4x4.Ortho(
            -200.0f, 200.0f,
            200.0f, -200.0f,
            -0.5f, 0.5f);
        Matrix4x4 m2 = transform.localToWorldMatrix;
        Matrix4x4 m3 = m2 * m1;

        live2DModel.setMatrix(m3);
        live2DModel.update();
        live2DModel.draw();
    }
コード例 #16
0
 void OnRenderObject()
 {
     if (live2DModel == null)
     {
         return;
     }
     if ((Camera.current.cullingMask & gameObject.layer) > 0)
     {
         if (live2DModel.getRenderMode() == Live2D.L2D_RENDER_DRAW_MESH_NOW)
         {
             live2DModel.draw();
         }
     }
 }
コード例 #17
0
    void OnRenderObject()
    {
        if (live2DModel == null)
        {
            return;
        }
        live2DModel.setMatrix(transform.localToWorldMatrix * live2DCanvasPos);

        if (!Application.isPlaying)
        {
            live2DModel.update();
            live2DModel.draw();
            return;
        }

        double t = (UtSystem.getUserTimeMSec() / 1000.0) * 2 * Math.PI;

        live2DModel.setParamFloat("PARAM_ANGLE_X", (float)(30 * Math.Sin(t / 3.0)));


        live2DModel.update();
        live2DModel.draw();
    }
コード例 #18
0
ファイル: DemoAndMotion.cs プロジェクト: ydaniel1018/006805
    // 렌더링할 때 호출된다
    void OnRenderObject()
    {
        // Live2D 모델이 없으면 읽어들인다
        if (m_live2DModel == null)
        {
            load();
        }

        m_live2DModel.setMatrix(transform.localToWorldMatrix * m_live2DCanvasPos);

        // 만일 애플리케이션이 동작 중이 아니라면 모델을 업데이트하여 렌더링하고 돌아온다
        if (!Application.isPlaying)
        {
            m_live2DModel.update();
            m_live2DModel.draw();
            return;
        }

        Idle();          // 아래에 있는 Idle() 함수 내용을 실행하고 여기로 돌아온다
        Drag();          // 아래에 있는 Drag() 함수 내용을 실행하고 여기로 돌아온다 ※이것은 Idle()을 실행한 수에 실행해야 한다

        // 눈깜박임 처리
        m_eyeBlink.setParam(m_live2DModel);

        // 물리 연산 업데이트
        if (m_physics != null)
        {
            m_physics.updateParam(m_live2DModel);
        }

        // 모델 업데이트
        m_live2DModel.update();

        // 모델 렌더링
        m_live2DModel.draw();
    }
コード例 #19
0
        void Update()
        {
            if (live2DModel == null)
            {
                return;
            }
            live2DModel.setMatrix(transform.localToWorldMatrix * live2DCanvasPos);

            if (!Application.isPlaying)
            {
                live2DModel.update();
                return;
            }


            if (motionMgr.isFinished() || main != _State)
            {
                //歩き
                if (_State == Main.CharaState.Walk)
                {
                    live2DModel.setParamFloat("Param3", -1);
                    live2DModel.setParamFloat("Param7", 0);

                    motionMgr.startMotion(motions[0]);
                }
                //走り
                else if (_State == Main.CharaState.Run)
                {
                    live2DModel.setParamFloat("Param3", -1);
                    live2DModel.setParamFloat("Param7", 0);

                    motionMgr.startMotion(motions[1]);
                }
                //停止
                if (_State == Main.CharaState.Wait)
                {
                    //live2DModel.setParamFloat("Param3", -1);
                    motionMgr.startMotion(motions[2]);
                    //motionMgr.stopAllMotions();
                }
            }

            main = _State;

            motionMgr.updateParam(live2DModel);
            live2DModel.update();
            live2DModel.draw();
        }
コード例 #20
0
    void Update()
    {
        if (live2DModel == null)
        {
            return;
        }
        live2DModel.setMatrix(transform.localToWorldMatrix * live2DCanvasPos);

        if (!Application.isPlaying)
        {
            live2DModel.update();
            return;
        }


        if (motionMgr.isFinished() || main != _State2)
        {
            //歩き
            if (_State2 == Enemy2State.Walk)
            {
                motionMgr.startMotion(motions[0]);
            }
        }

        if (main != _State2)
        {
            //噛みつき
            if (_State2 == Enemy2State.Attack)
            {
                motionMgr.startMotion(motions[1]);
            }
            //怯み
            else if (_State2 == Enemy2State.Stop)
            {
                motionMgr.startMotion(motions[2]);
            }
            //停止
            if (_State2 == Enemy2State.Wait)
            {
                motionMgr.startMotion(motions[3]);
            }
        }


        motionMgr.updateParam(live2DModel);
        live2DModel.update();
        live2DModel.draw();
    }
コード例 #21
0
 private void OnPostRender()
 {
     if (live2DModelUnity == null)
     {
         return;
     }
     live2DModelUnity.setMatrix(base.transform.localToWorldMatrix * live2DCanvasPos);
     if (!IsStop || isOneDraw)
     {
         motionMgr.updateParam(live2DModelUnity);
         live2DModelUnity.update();
         live2DModelUnity.draw();
         isDrawed = true;
         if (motionMgr.isFinished() || isOneDraw)
         {
             isOneDraw = false;
         }
     }
 }
コード例 #22
0
 private void OnRenderObject()
 {
     live2dModel.draw();
 }
コード例 #23
0
 private void OnRenderObject()
 {
     model.draw();
 }
コード例 #24
0
 public void Rending()
 {
     live2DModel.draw();
 }
コード例 #25
0
    void Update()
    {
        if (live2DModel == null)
        {
            return;
        }
        live2DModel.setMatrix(transform.localToWorldMatrix * live2DCanvasPos);

        if (!Application.isPlaying)
        {
            live2DModel.update();
            return;
        }

        if (motionMgr.isFinished() || main != Player.State)
        {
            //歩き
            if (Player.State == Main.CharaState.Walk)
            {
                live2DModel.setParamFloat("Param3", -1);
                live2DModel.setParamFloat("Param7", 0);

                motionMgr.startMotion(motions[0]);
            }
            //走り
            else if (Player.State == Main.CharaState.Run)
            {
                live2DModel.setParamFloat("Param3", -1);
                live2DModel.setParamFloat("Param7", 0);

                motionMgr.startMotion(motions[1]);
            }
            //素手殴り
            else if (Player.State == Main.CharaState.HandAttack)
            {
                //live2DModel.setParamFloat("Param3", -1);
                motionMgr.startMotion(motions[2]);
            }
            //鉄棒殴り
            else if (Player.State == Main.CharaState.BarAttack)
            {
                motionMgr.startMotion(motions[3]);
            }
            //銃攻撃
            else if (Player.State == Main.CharaState.Shot)
            {
                motionMgr.startMotion(motions[4]);
            }
            //通常ダメージ
            else if (Player.State == Main.CharaState.Damage)
            {
                motionMgr.startMotion(motions[8]);
            }
            //銃攻撃
            else if (Player.State == Main.CharaState.Down)
            {
                motionMgr.startMotion(motions[9]);
            }
            //停止
            if (Player.State == Main.CharaState.Wait)
            {
                //live2DModel.setParamFloat("Param3", -1);
                motionMgr.startMotion(motions[10]);
                //motionMgr.stopAllMotions();
            }
        }

        main = Player.State;

        motionMgr.updateParam(live2DModel);
        live2DModel.update();
        live2DModel.draw();
    }
コード例 #26
0
ファイル: Live2DModel.cs プロジェクト: Rinsunsama/Live2D
 private void OnRenderObject()
 {
     live2DMode.draw();
 }
コード例 #27
0
 private void OnRenderObject()
 {
     //渲染显示模型
     live2DModel.draw();
 }
コード例 #28
0
    /*跟随鼠标移动实现类*/


    /**********/
    /*-*/
    private void OnRenderObject()
    {
        live2DModel.draw();
        //绘图方法
    }
コード例 #29
0
 //실제로 모델이 랜더되는 동안 호출
 void OnRenderObject()
 {
     model.setMatrix(transformCache.localToWorldMatrix * canvasMatrix);
     model.draw();
 }
コード例 #30
0
 public void OnRenderObject()
 {
     live2DModel.draw();
 }