Beauty Salon α-BET (alphabet)

space001
Blender3d Collada dae modeling Use Papervision3d on Progression3 and 4 http://a-bet.secret.jp/#/access
more whaison works.
whaison space
space002
http://whaison.jugem.jp/ https://jp.pinterest.com/whaison/ https://www.instagram.com/whaison/ https://whaison.amebaownd.com/
https://suzuri.jp/whaison
http://whaison.blogspot.com/
http://whaison.tumblr.com/ http://qiita.com/users/whaison http://www.behance.net/whaison https://github.com/whaison/ https://bitbucket.org/whaison http://serato.com/user/whaison http://whaison.hatenablog.jp/

typo memo
http://d.hatena.ne.jp/whaison/


dayNote
http://www.myspace.com/whaison http://ameblo.jp/whaison/ http://blog.crooz.jp/whaison/ http://blog.crooz.jp/whaisoncafe/ http://nenpyo.org/whaison

fulldisk
http://full.shin-gen.jp/
http://whaison.client.jp/
http://www.dclog.jp/whaison/
featured forums.
space004
forum.unity3d.com/

forums.unrealengine.com.

Progression Forum.

FlashDevelop Forum.

Papervision3D Forum.

FlexUserGroup Forum.

SparkProjectForum.





Twitter







Mobile
qrcode
Calendar
SunMonTueWedThuFriSat
     12
3456789
10111213141516
17181920212223
24252627282930
31      
<< March 2024 >>
New Entries
Archives
Categories
Recent comment
  • FlashDevelopでフォント埋め込み
    感謝!! (12/24)
  • cocos2d-x-3.0rc0 ,c++ ,cpp でTexturePacker で 吐き出した、plist と png でパラパラアニメーションのコード例
    whaison (04/17)
  • Blender2.67にbvh(web上に2500個以上ころがってる)入れてそのBoneオブジェクトをUnity4.0のmecanimで使う
    whaison (08/19)
  • Apple Dev Center 「Certificates, Identifiers & Profiles」で Adhoc をつくってXCode4.6.1でArchiveしてipaを書き出し
    whaison (04/30)
  • Flash CS6でプロパティーパネルで物理演算のジャンプの高さを設定できるCitrus Engine
    whaison (03/01)
  • 「Flash以外、例えばKinectとか」ON TOKYO (会場:高田馬場4-11-8 Floor 6階 ) 短縮URL http://bit.ly/dI0Bfx
    uka (03/02)
  • App Store Review Guidelines アップル社のアプリ審査基準ガイドライン和訳 Apple が 開発者を悩ませ ユーザーをハッピーにしたいガイドライン。w
    whaison (01/25)
  • Unity3d では ADOBE JAPAN OSAKIで行われたFITC 2010 TOKYOでは、 「iOS用にパブリッシュするためには、フリー版ではなくて、有料版を買ってください。さらに追加のパッケージである、"iOS Package (for Development)"を買ってください」とのことだった。
    whaison (01/25)
  • enjoy Adidas-Futsal-Park
    whaison (01/16)
  • MacBookAir にFlashPlayer入れたらなった。Mac Flash Player 10.1/10.2でUstream などでカメラが認識されないバグそんなときはUstreamProducer!でもなくiPhoneだと直ぐにライブ配信できた
    whaison (01/14)
simple sintax high lighter2.0
space003
SyntaxHighlighter2.0用 の貼り付けコード作成する!
ブログパーツ-BLOG PARTS.
Profile
Links
Recommend
Sponsored Links
Admin
無料ブログ作成サービス JUGEM
Seach this site
            
2022.03.28 Monday
スポンサーサイト

一定期間更新がないため広告を表示しています

| スポンサードリンク | - | | - | - | pookmark |
            
2014.12.30 Tuesday
Mecanim Locomotion Starter Kitのスクリプトを日本語解釈してみた。
 

Mecanim Locomotion Starter Kit


https://www.assetstore.unity3d.com/jp/#!/content/7673


 /// <summary>
/// 
/// </summary>

using UnityEngine;
using System;
using System.Collections;
  
[RequireComponent(typeof(Animator))]  

//Name of class must be name of file as well

public class LocomotionPlayer : MonoBehaviour {

    protected Animator animator;

    private float speed = 0;
    private float direction = 0;
    private Locomotion locomotion = null;

    // Use this for initialization
    void Start () 
    {
        animator = GetComponent<Animator>();
        locomotion = new Locomotion(animator);
    }
    
    void Update () 
    {
        if (animator && Camera.main)
        {
            JoystickToEvents.Do(transform,Camera.main.transform, ref speed, ref direction);
            locomotion.Do(speed * 6, direction * 180);
        }        
    }
}


短いと思ったら。

Locomotionて独自のAnimeter継承クラスを作っている。。三項演算子だらけだったので理解のためばらした。

using UnityEngine;
using System.Collections;

public class Locomotion
{
        private Animator m_Animator = null;
        private int m_SpeedId = 0;
        private int m_AgularSpeedId = 0;
        private int m_DirectionId = 0;
        public float m_SpeedDampTime = 0.1f;
        public float m_AnguarSpeedDampTime = 0.25f;
        public float m_DirectionResponseTime = 0.2f;

        public Locomotion (Animator animator)
        {
                m_Animator = animator;

                m_SpeedId = Animator.StringToHash ("Speed");//Animaterに設定したフロートの名称
                m_AgularSpeedId = Animator.StringToHash ("AngularSpeed");//Animaterに設定したフロートの名称
                m_DirectionId = Animator.StringToHash ("Direction");//Animaterに設定したフロートの名称
        }
        //Updateで呼ばれる関数。
        public void Do (float speed, float direction)
        {
                AnimatorStateInfo state = m_Animator.GetCurrentAnimatorStateInfo (0);

                bool inTransition = m_Animator.IsInTransition (0);//stateが切り替わるトランジション中かどうか?
                bool inIdle = state.IsName ("Locomotion.Idle");//アイドル状態かどうか?
                //bool inTurn = state.IsName("Locomotion.TurnOnSpot") || state.IsName("Locomotion.PlantNTurnLeft") || state.IsName("Locomotion.PlantNTurnRight");
                bool inTurn = false;
                if (state.IsName ("Locomotion.TurnOnSpot")) {//回転状態のとき
                        inTurn = true;    
                }
                if (state.IsName ("Locomotion.PlantNTurnLeft")) {//左切り返しのとき
                        inTurn = true;
                }
                if (state.IsName ("Locomotion.PlantNTurnRight")) {//右切り返しのとき
                        inTurn = true;
                }
                bool inWalkRun = state.IsName ("Locomotion.WalkRun");//走ってるとき
                //-------------------------------------------speedDampTime
                //float speedDampTime = inIdle ? 0 : m_SpeedDampTime;
                float speedDampTime;
                if (inIdle) {
                        speedDampTime = 0;//アイドルのときダンプは
                } else {
                        speedDampTime =    m_SpeedDampTime;//アイドルじゃないときm_SpeedDampTime = 0.1f;
                }
                //------------------------------------------angularSpeedDampTime
                //float angularSpeedDampTime = inWalkRun || inTransition ? m_AnguarSpeedDampTime : 0;
                float angularSpeedDampTime;
                angularSpeedDampTime=0;//
                if(inWalkRun){
                        angularSpeedDampTime = m_AnguarSpeedDampTime;//歩いてるとき m_AnguarSpeedDampTime = 0.25f;
                }
                if(inTransition){
                        angularSpeedDampTime = m_AnguarSpeedDampTime;//トランジション中のときm_AnguarSpeedDampTime = 0.25f;
                }
                //----------------------------------------directionDampTime
                //float directionDampTime = inTurn || inTransition ? 1000000 : 0;
                float directionDampTime;
                directionDampTime=0;
                if(inTurn){
                        directionDampTime =    1000000;//ターン中のとき 1000000
                }
                if(inTransition){
                        directionDampTime =    1000000;//トランジション中のとき 1000000
                }

                float angularSpeed = direction / m_DirectionResponseTime;
                ///////////SetFloat(string name, float value, float dampTime(時間に到達するためのパラメータ), float deltaTime(時間));
                m_Animator.SetFloat (m_SpeedId, speed, speedDampTime, Time.deltaTime);
                m_Animator.SetFloat (m_AgularSpeedId, angularSpeed, angularSpeedDampTime, Time.deltaTime);
                m_Animator.SetFloat (m_DirectionId, direction, directionDampTime, Time.deltaTime);

        }
}


SetFloatの引数は2つでもいいが4つにすることで切り返しの動作を可能にしているようだ。
Animator.SetFloat
 
SetFloat(文字列、フロート);
パラメータ
 
名前 パラメータの名前。
パラメータの新しい値。
説明

フロート·パラメータの値を設定します。

SetFloat(文字列、フロート、フロートdampTime、フロートdeltaTime);
パラメータ
 
名前 パラメータの名前。
パラメータの新しい値。
dampTime 時間値に到達するためにパラメーターさせた。
deltaTime 現在のフレームdeltaTime。
説明

フロート·パラメータの値を設定します。


実際2つしか引数を使わないと
切り返しの動作がなくなる
 

| whaison | - | 23:42 | comments(0) | - | pookmark |
            
2022.03.28 Monday
スポンサーサイト
| スポンサードリンク | - | 23:42 | - | - | pookmark |
Comment




whaisonStudyNoteBook をFaceBookで いいね!





Share |