2011/09/14

UnityでJavaScriptと仲良くなってみる

すみません、こんな事になりました。


食中毒でも起こしたのか、体内は上下線ともに特別急行。腹痛と悪心でこの世が終わりそう。2011年9月13日 6:59 via Echofon

一日中床に伏せっていて、登校したのは結局23時40分。昼夜逆転どころの話ではありません。



【Unityで、どきどきJavaScript】

今日は、『Unityによる3Dゲーム開発入門(以下、ウニ本)』の6章に挑戦してみました。この単元では、タイトル画面やステージクリア、ゲームオーバーといったシーンのつなぎの作り方が紹介されています。

このテーマは、『ゲームプログラマになる前に~』ではシーケンス遷移と呼ばれていたもので、特にオブジェクト指向に不慣れな人にとってはある種の鬼門でもありました。ちなみに余談ですが、僕も以前 Objective-C の学習の一環でこの題材を扱った事があります。

Unity に於いて、このシーケンス遷移を制御するのは JavaScript や C# 等で記述されたスクリプト。当然ながら、ここにきて一気にプログラマ寄りの内容にシフトします。

プログラマは習熟度に応じて言語を選択する事ができますが、ウニ本では JavaScript を用いた解説がなされていたので、僕もこれを機に JavaScript と仲良くなってみる事にしました。

まずは超簡単なサンプルで、Unity流のシーケンス遷移を体感。

わずか数行のスクリプトで、「スタート」ボタンとシーケンス遷移の実装ができてしまいました(「スタート」をクリックすると、ゲーム本編に遷移します)。

というのも、シーケンス遷移のややこしい処理を Unity がうまく隠蔽(カプセル化?)してくれているおかげで、スクリプト中の各々の処理がかなり明快になり、今まで1行たりとも JavaScript をコーディングした事のなかった僕でさえ『これならできる!』と嬉しくなりました。わーい。

6章ではシーケンス遷移のほかに、キャラクターの死亡判定の効果的な作り方が解説されています。

ここで解説されている手法は、従来のゲームプログラミングでも常套的に用いられる『バウンディングボックスとの接触判定』なのですが、Unity ではそれを視覚的に設定できるため、かなり制作が容易な印象です。

おそらく、6章までの知識だけでも発想が豊かな方ならば面白いゲームが作れるのではないでしょうか。




……ということで、さっそくチェコ帰りのらいんくん(授業で Unity を触った経験あり)を焚きつけてみました。


@tercel_s 一個テキトーに作ってみますか!2011年9月14日 1:26 via YoruFukurou

彼は英語が堪能なので、リファレンスを読む際にかなり有利だろうなぁ……。

どんなゲームができるんだろう。楽しみだなぁ∩( ・ω・)∩

0 件のコメント:

コメントを投稿

ひとことどうぞφ(・ω・,,)