うにty生活

UnityChanを生活させたい

【Unityちゃんに友達できた!】 NPC自動歩行&会話できるようにしてみた #20

 

どうもラブヘイトです

やっと20回目の記事になります!(番外加えれば26回目!)

 

今日はうにty生活ブログにお友達がやってきました!

Amane Kisoraちゃんです!

f:id:tubakihimeLoveHate:20190220115913p:plain

f:id:tubakihimeLoveHate:20190220115602p:plain

目が輝いてる!笑

ザ・アイドルって感じですね

 

 

◆Amane Kisoraちゃんをインポート

assetstore.unity.com

 

アセットに抵抗がある人はこちら↓

 

 

 

◆適当にその辺を歩くNPCにする

突っ立っているだけではかわいそうなので、今回はNPCになって適当にその辺を歩いてもらいます

f:id:tubakihimeLoveHate:20190221120756g:plain

 

ずっと歩かれても落ちちゃったりして困るので、5秒歩く→5秒休むという感じにしました!

コードいるかな?一応載せますね

public class KisoraController : MonoBehaviour {

    Animator animator;
    Rigidbody rigid;
 
 
    float h;
    float v;

    //速さ
    public float speed = 1.5f;
   //走行時
  private float pulusSpeed=1;
  //方向転換スピード
  public float rotateSpeed = 200f;

    //最初のループに入るため
    float timer= -0.1f;
    bool timerIn = true;


    // Use this for initialization
    void Start () {
        animator = GetComponent<Animator>();
        rigid = GetComponent<Rigidbody>();
    }
    
    // Update is called once per frame
    void FixedUpdate () {

        if(timer < 0){
            h = Random.Range(-0.5f,0.5f);
            v = 1;
        }else if(timer > 5){
            h=0;
            v=0;
        }

        if(timerIn){
            animator.SetBool("walk",true);
            Vector3 velocity = new Vector3(0,0,v);
            

            // キャラクターのローカル空間での方向に変換
            velocity = transform.TransformDirection(velocity);

            float speedCache = speed *pulusSpeed* Time.fixedDeltaTime;

            // キャラクターの移動
            transform.localPosition += velocity * speedCache;
            // キャラクターの回転
            transform.Rotate(0, h * rotateSpeed * Time.fixedDeltaTime,0);
 
            timer += Time.fixedDeltaTime;
          if(timer>5)timerIn = false;
 
        }else{
            animator.SetBool("walk",false);
            timer -= Time.fixedDeltaTime;
            if(timer<0)timerIn = true;
        }
    }
}

短時間でやったので結構適当ですが一応動きます

歩かせかたはUnityちゃんと一緒です↓

 

 

 

 

◆会話できるようにしてみた

お友達とはやっぱり会話したいですよね

ということでKisoraちゃんと会話できるようにしました!

f:id:tubakihimeLoveHate:20190221122236g:plain

キャー!Kisoraちゃんがこっち向いて話してくれてるー!(アイドル風w)

 

インタラクトが「開ける」なのは気にしないでください笑

過去の記事から再利用しています↓ 


 急に振り向いたり、会話中なのに動き出したりとまだ調整は必要ですが

簡単なので裏でやっときます笑

 

 

◆おまけ

Kisoraちゃんアセットについてた?(もしかしたら最初からあったかも)

Mobile/Unlit(Supports Lightmap)っていうシェーダーでめっちゃUnityちゃん綺麗になりました!!

実は正直こっちの方が驚きだった回

f:id:tubakihimeLoveHate:20190220120237p:plain

 

ではまた

 

 

 

--------------------------------------------------------------------------------

※当ブログにおいてナンバリングはあまり関係ありません 

私とブログの成長記のようなものです