動かなくても諦めないで!
もしスクリプトが思うように動かない場合、次の方法を試してください。
手順を見直しましょう
まずはそれまでの手順を間違えていないか、よく確認してください。
- プロジェクトやシーンが3Dになっていませんか?
- スクリプトを変な風に編集していませんか?
- スクリプトは保存済みですか?
- スクリプトをオブジェクトに貼り付けていますか?
エラーの内容を確認しましょう
エラーや警告があればUNITYの↓「Console」ウインドウ(赤い枠)の右上の部分(黄色い枠)を押すと表示されます。
↑「Console」ウインドウが表示されていない場合は、UNITY画面上部の「Window」→「General」→「Console」で表示できます。
ちなみに、このウインドウ内の「Collapse」をクリックしてONにすると、同じエラーを一つにまとめることができます。エラーが多すぎて見きれない場合はここを押してください。
エラーの種類は様々ですが、エラーがある場合は次のように表示されます。
Assets\Scripts\RubyController.cs(17,39): error CS1002: ; expected
この「error CS1002」の部分がエラーの種類なので、まずは検索しましょう。「UNITY CS1002」とかで検索すればほぼ確実に原因や解決方法がヒットします。英語のページでも気負いせず、ページ翻訳で果敢に挑みましょう。
また、「RubyController.cs(17,39)」の部分は実際にエラーが発生した場所です。この場合は「RubyController.csというスクリプトファイルの17行目の39文字目でエラーが発生している」ことを表しています。
エラーの種類は様々ですが、代表的なものを挙げておきます。
- error CS1002 … 「セミコロン;」が抜けてるよ!
- error CS0111 … 同じ変数を2回定義してるよ!
- error CS0103 … 定義されてない変数を使ってるよ!
- error CS1513 … 「波括弧{}」が抜けてるよ!
- error CS0029 … 型と変数が合ってないよ!
Debug.Log()を使いましょう
思うように動かないけど、エラーが発生していない場合。
これが一番タチが悪いのですが、この場合は「Debug.Log()」を使いましょう。
スクリプトでコードを書いている全ての行の間に「Debug.Log()」を挟み込みます。
問題がなければ、全てのログがコンソールウインドウに表示されます。もしどこかのログが表示されていなければ、そこで止まっているということが解ります。
これはかなり本格的なデバッグの方法でかなり難易度の高い方法ですが、これで解決されない問題はなかなか無いと思います。
元のチュートリアルページを確認しましょう
それでも解決しない場合、元のチュートリアルページを参照してください。英語ですが、Chromeのページ翻訳機能を使えば日本語で読むことができます。
このページのなかの、
ここ。ここを見ると世界中の色んな人が「動かない!」と騒いでおり、先輩たちが回答しています。
ここで既にあなたの問題が解決されているかもしれませんし、もし解決しなければ、あなたが英語で投稿してみてもいいです。英語ができなくても、Google翻訳などを使えば伝わるので大丈夫です。
完成版のプロジェクトと見比べよう
このチュートリアルは完成版がアセットストアで公開されています。
どうしてもわからない場合は完成版を別プロジェクトとして保存しておき、カンニングするのもアリだと思います。
最終手段
…それでも動かないという場合。まだ諦めてはいけません!
酷な言い方になりますが、色々試しても動かない場合はこのチュートリアルは諦めて、別のブログなどでチュートリアルを探しましょう。
UNITYのチュートリアルは公式/非公式を含めて無数に存在します。ブログやYouTube動画を検索してもいいし、本を買ってもいいです。
そうやって理解を深めていれば、やがて「あ、ここが違ったのか!」という部分に必ずたどり着きますので、まずは問題なく進められるチュートリアルを見つけることから始めてみましょう。
オススメのチュートリアル:れー@DKRevel「Unity入門」
[ad]
『Ruby's Adventure』日本語解説 記事リスト
『Ruby's Adventure』のチュートリアルを日本語で解説した記事の一覧です。