Unity オブジェクトをスクリプトで移動させてみよう Unity学習⑨
今回は、凄く単純なスクリプトを作って、オブジェクトを
動かして行く方法を説明します
※動画での説明がいい方は下記動画をご覧ください。ブログ記事での説明がいい方はそのまま読み進めてください。
どうも!お酒が大好きなゆうきやんです!笑笑
悪酔いしないようアルコールを早く回らないように
油物、カルパッチョ、ポテトサラダ、唐揚げ、フライドポテト
チーズなんか先に食べて胃に油を滞留させています。
読書が日課なので様々な本やネットなんか見てますが
ネットには太る原因としてお酒と油物はよくない!って
書いてありますがそこに関しては本で読んでいないので分かりません泣
今の所悪酔いを防ぐか!太るのを防ぐか!に分かれてますね笑笑
それでは本題に入っていきましょう!
オブジェクトをスクリプトで移動させてみよう!
まず始めにUnityを3Dでプロジェクトを作ってください。
※起動の仕方が分からない方は下記記事をご参考にしてください。
phoenix9056.hatenablog.com
次に、動かすことの出来るObjectやキャラクターと歩くことが出来る地面の用意です。
初心者の人からしたら何言っているのか分からないので下記記事で
Objectの作成と地面の用意をしてください。
下記記事で参考にする所は、ObjectとPlane(地面)の作成だけで
他は必要ありません。
今回は結構簡単です。
何と次のステップで終わります!
Project⇨+から①のC#Scriptを作成して名前をMoveにします。
※Project内に作成したスクリプトの名前とスクリプト内のpublic class⇨の隣の名前が
Moveと同じ名前じゃないと使えません。(Objectにアタッチできません。)
次に記述されているスクリプトをコピー&ペーストするか、
自分で打って入力してください。
using System.Collections; using System.Collections.Generic; //↑上の二つのusingは使わないから本当はいらないよ。 using UnityEngine; //Moveと言うクラスで書いてくよ public class Move : MonoBehaviour { //Objectを動かすスピードを4にする。 //このスピードはpublicで定義してあるからInspectorで変更できるよ。 public float speed = 4.0f; // Update is called once per frame void Update() { //Unity内にインプットされているupを使って矢印の上を押すとその方向に動くよ。 if (Input.GetKey("up")) { //場所は押した分だけ前に進んで話すと止まるよ。 transform.position += transform.forward * speed * Time.deltaTime; } //これは下。 if (Input.GetKey("down")) { transform.position -= transform.forward * speed * Time.deltaTime; } //これは右。 if (Input.GetKey("right")) { transform.position += transform.right * speed * Time.deltaTime; } //これは左。 if (Input.GetKey("left")) { transform.position -= transform.right * speed * Time.deltaTime; } } }
次に②のHierarchy内にあるGameObjectのCubeに
①のスクリプトをドラッグ&ドロップしてください。
CubeのInspectorの一番下にあるAdd Componentをクリックして
検索窓に入力して③のRigidbodyと④のCapsule Colliderを追加してください。
※Rigidbodyは物理的反応ができるようになるもので(回転、移動、重力)、
Capsule Colliderは追加した物と別の物との接触判定をする物です。(壁や地面に当たって壁だったらそれ以上進めないでいいかな。)
さぁ!これで準備が整いました!
Unityの再生ボタンを押して再生して見てください。キーボードの矢印▶︎を押すとその方向に動くかと思います!
後にアニメーションを追加して歩く動作とこの動きを連動する記事でも
書いていきたいと思います。
ご視聴ありがとうございました!
このまま学習したい場合はブログ上にあるカテゴリーのUnity学習から記事を見るか、
下記にある関連記事を参照にしてください。