オブジェクトに動きをつけて世界を生き生きとさせよう

オブジェクトやゲーム内のものに動きをつけるのは、多くの商用ゲームで日常的に行われている。木がそよいだり、波がさざめいたり、キャラクターが待機モーションをループで再生してたり。あるいは宝箱がキラキラ光ったりとか。
自作のシンプルゲームで何かが物足りない、そんなときは画面に動きがなさすぎるからかもしれない。静止した世界は無機質に感じられてしまう。オブジェクトをY軸を中心に回転させてみてはどうだろう。
これがチュートリアル通りに
つくった玉転がしゲーム
つくった玉転がしゲーム

このアイテムをキューブにして
回転させてみた
回転させてみた

おおっ!
なんかグッと
いいカンジになったっすね!
なんかグッと
いいカンジになったっすね!
めっちゃ数を増やしてみた

おおっ!
意味もなく面白そうなカンジに!
意味もなく面白そうなカンジに!
ただオブジェクトを回転させるだけでも「動き」をつけるとゲームの中の世界が生き生きとして見えないだろうか?今回使用したスクリプトはこちら!

オブジェクトを回転させる方法はいくつかあるが、もっとも基本的なtransform.Rotateというものを使っている。玉転がしゲームで作ったItemScriptを改造してるので、ただオブジェクトを回転させるだけなら13-21行目は削除して使おう。
TechAcademyの田島悠介先生の
ページを参考にスクリプトを
改造しました
ページを参考にスクリプトを
改造しました
えっ
そめ先生が書いたんじゃないんすか!
そめ先生が書いたんじゃないんすか!
ネットで検索して出てきたコードを
自分のスクリプトにうまく流用する……
これが初心者の基本戦術だ……
自分のスクリプトにうまく流用する……
これが初心者の基本戦術だ……
なるほどー!
もちろん何でもかんでも回転させればいいわけでもない。せっかくだから「何か起こる」アイテムとか「触ったらまずい」オブジェクトとか、プレイヤーの意識を向けたいものに動きをつけてみよう。ゲームやシチュエーションによって回転以外にも色々な方法が考えられると思う。初めてゲームをプレイする人も自然とオブジェクトに誘導されたり、驚きを感じてくれたりするはずだ!