logo header
logo header
logo header
logo header
  • 2015.11.16
  • 技術ブログ開発

空間認識能力が低い人のUnity開発記録〜チュートリアル編(2)〜

そろそろコード書いたら?と自身にツッコミ始めているzukaです。
ということで、今回はコードを書くところまで進めます!

ユニティちゃんを自在に動かすという目標に向かって、今回も地道に(少しスピードアップ気味で)Unityを学んでいきます。

 

前回1.ステージを作成の「四枚のPanelを設定」まで進めましたので、今回は「床の色を塗る」から再開します。

壁の配置で「引き伸ばす方法」とありますが、一瞬迷いました。以下の図の通りにして伸ばすことができます。

unity02-01

 

移動も以下の通りにして動かすことができます。イマイチうまく配置できなくても、インスペクタービューで調整が可能です。
慣れるためにもせっかくなので良い感じの位置まで移動させます。(最終的にはインスペクタービューで調整)

unity02-02

 

ところで、チュートリアルではずっと「Cube」となっていますが、「Wall」にリネームしたはずなので「Wall」が正しいと思います。こんがらがるのでご注意ください。

次は壁の回転です。こちらも以下の通りにして回転させることができます。ここでも最終的には、インスペクタービューで調整となります…。

unity02-03

 

続いて、2.プレイヤーの移動に進みます。

早速プレイヤーに登場いただくため「3D Object > Sphere」オブジェクトを追加したところ、なんとこれだけで以下のような状態になりました。

unity03-01

 

次にコンポーネント(部品)の追加です。以下のように検索すれば、わざわざ「Physics > Rigidbody」を探して選択しなくても良いです。

unity03-02

 

再生するだけで球体が動くとのことで、早速再生してみました。
…球体が落下し、シュールな現場を目撃できます。
たったのこれだけでオブジェクトが動くのはすごいですね!

unity03-04

 

そして、いよいよついにコードを書くときがやってきました!
チュートリアルでは「PlayerController.cs」をダブルクリックすると「Monodevelop」が起動するとありますが、自分は空間認識能力が低い人のUnity開発記〜準備編〜で準備しておいた「Visual Studio Code」を使用します。
初期状態では、「Start」と「Update」の空メソッドが準備されていました。

unity03-05

 

今回はこれらのメソッドは使用しないので、丸々削除となります…。
チュートリアルに「物理演算」などの単語が出現してきましたが、今は深く考えずに進めます。

「FixedUpdate」というメソッドが出てきましたが、これは「一定時間ごとに実行される」メソッドのようです。詳細はこちらに記載されています。

コードを写経し、再生してみます。球体が落下しましたが、その後はちっとも動きません。
なぜだろうと考えること数分…。

あ!なんということでしょう。コードに「Input」と書いているではありませんか。
Input = 入力 = 外部からの何かしらの入力、これがないと動くはずもありません。

unity03-06

そうです。十字キーの操作で球体が動くというオチでした。
十字キーで球体を転がすことができました。これだけでもなかなか楽しいです。今後の期待が膨らみます。

 

毎回しょうもないことで引っかかっている気もしますが、ユニティちゃんへの道も一歩から。
次回は3.カメラを動かすから再開したいと思います。

ともに世界をアップグレードできる、そんな日を夢見て。
Upgrade the World!