第1回

開発の準備をしよう(イントロダクション、開発環境の導入)

授業概要を説明します。
開発環境上でのプロジェクトの作成、ビルドの方法などを学びます。




k01img.zip(参考用スクリーンショット集)

インストール(画像101-111)

まずはunityをインストール。
http://japan.unity3d.com/unity/download/
インストールに5.4GB必要。

起動するとライセンス認証画面が出る。
「Activate the free version of Unity」を選んでOKを押す。

EmailとPasswordを打ち込む画面が出る。
アカウントは持ってないので「Create Account」ボタンを押す。

「Name」「Email」「Password」「Password confirmation」を
よしなに入力して「OK」を押す。
(パスは大文字、小文字、数字or記号を1文字づつ入れて8文字以上で)

数分で自動的にメールが送られてくる。
メールをクリックするとアカウントが使えるようになるので、
パスワードを入力してOKを押す。
(宣伝や更新のメールを受取りたくない人はチェックボックスを外してから押す)

アンケートが出てくるので答える。
StartUsingUnityを押すと起動。

(Win:通信アクセス許可のアラートが出てくるので許可する。)


課題:unityをインストールして、簡単なスクリプトを書いてみましょう。(画像211-)
(1)新規プロジェクトを作る(「2D」プロジェクトを選びましょう)
(2)Assets→Create→C# Scriptで新規スクリプトを作成。
(3)作ったスクリプトをダブルクリックしてエディタ起動
(4)プログラムを編集
 ・3行目に1行書き足す。
--
using UnityEngine.UI;
--
 ・7行目(クラス入った直後)に変数の宣言を3行足す
--

public Text t;
int score;
float time;
--
 ・14行目(Start()の中)に下記2行を足す。
--
score = 0;
time = 10.0f;
--

 ・22行目(Update()の中)に下記10行を足す。
--
time -= Time.deltaTime;
if (time >= 0.0f){
  if (Input.GetKeyDown(KeyCode.F5))
  {
    score++;
  }
  t.text = string.Format ("score:{0} time:{1:f1}", score, time);
} else {
  t.text = string.Format ("score:{0} finished!", score);
}
--
(5)Ctrl-sでセーブ
(6)Unityの窓に戻る。
(7)GameObject→emptyで空のオブジェクトを作成。
(8)AddComponentボタンを押して、Scriptを選んで、
   作ったスクリプト(NewBehavior.cs)を追加
(9)GameObject→UI→Textで新規テキストを作成。
   Transformのx,y,zの値が0になっていない場合は0を入れてください。
   (※プロジェクト作成時に3Dを選んだ場合は値を変える必要があります)
(10)左側のHierarchy窓にあるGameObjectをクリック
   NewBehaviorの変数Tの欄の右側にあるボタンをクリック
   作ったテキスト(Text)を追加
(11)画面中央の右向きの△を押して実行
(12)シーンに名前を付けて保存

うまくいったら、本文に自分の出したハイスコアを書いてください。
うまくいかなかった人は、どこまでできたか書いてください。
(例1:インストールがうまくいかなかった)
(例2:インストールはうまくいったが、課題のスクリプトがうまく動かず断念)

un201:「右上のNew projekut」を押す un202:「2D」を押す(Macはレイアウトが異なります) un203:「2D」の文字が黒くなる。「Create project」を押す。 un204:プロジェクトが生成される。 un205:Assets→Create→C# Scriptを選ぶ un206:New Behavior.csが生成され、名前変更状態に。そのままエンターを押す。 un207:New Behavior.csがで確定される。ダブルクリックしてエディタ起動 un208:起動されたエディタ画面 un209:プログラムを追記する為に3行目にカーソルを持っていく。 un210:キーボードで1文字づつ打ち込んでいくと候補が出たりもします。 un211:3行目を入力し終わった状態 un212:7~9行目を入力し終わった状態 un213:14~15行目を入力し終わった状態 un214:22~31行目を入力し終わった状態 un215:セーブします。 un216:Unityの画面に戻ります。 un217:GameObject→Create Emptyを選びます。 un218:GameObjectが生成されます。右手のInspector窓の「Add Component」を押す。 un219:小窓が開くので、Scriptを選びます un220:Scriptを選んだ状態。クリックします。 un221:候補が出るので、New Behaviour Scriptを選びます(クリック) un222:ScriptがNew Behaviourが追加されます。 un223:GameObject→UI→Textを選びます。 un224:Textが作成されます。 (右側Inspector窓の Rect TransformのPosX,Y,Zが0でない場合は0を入れてください) un225:左側のHierarchy窓のGameObjectをクリックすと、Inspector窓に情報が出ます。 Tの欄の内容がNone(Text)になっているので、横にある○ボタンをクリックします。 (AddComponentボタンの上の欄です。座標で言うとX1589,Y252あたり) (Tの欄自体が無い場合は、恐らくScriptにタイプミスがあります。確認&修正を) un226:Textコンテンツを選ぶ画面が出ます。 un227:2行目のTextを選びます。 un228:Tの欄の内容がText(Text)に代わります。 un229:画面上部の△ボタンを押すと、プログラムが実行されます。 (文字が出ていなかったら、もう一度押してゲームを停めた上で、 Textの座標を確認してみましょう) un230:F5を押すとscoreが上がります。 un231:10秒立つとタイムがFinishedになり、入力が終わります。 un232:画面上部の△ボタンを再度押すと、プログラムの実行が終わります。 (実行中に行った座標変更等の入力は元に戻ります。値を変えたい場合は終了後に) un233:作ったシーンに名前をつけて保存しましょう。File→Save Sceneを選びます。 un234:名前入力画面。 un235:F5counterと名付けて「保存」を押します。 un236:中央下部のProject窓のAssets以下にF5counterのシーンが追加されます。 (やることはこれで終りです。終了時に確認が出たらProjectも保存してください) (以下、参考画面) un237:名前を付けてシーンを保存せずに窓を閉じようとすると怒られます。 un238:スクリプト欄の左端の歯車を押すと、削除することができます。 (間違えて違うオブジェクトにAcc Componentしてしまった時は、この操作で戻せます) un239:デスクトップにUnityのアイコンが作成されています。 un240:アイコンをダブルクリックするとUnityが起動され、作ったProjectを選べます。
よくある不具合と解決方法 (1)ビルドが通らない。実行するとエラーが出る。 ・プログラムが間違っている可能性が高いです。スクショと比較してみてください。  プログラム編集エディタ上でbuild→buildAllを実行すると  何行目にエラーがあるか確認できます。 ・19:00頃訂正しましたが、7行目から挿入する行の3行目が間違っていました。 具体的には「float time; int score=0.0f;」となっており、  scoreの宣言が2重になされエラーが出る状態でした。  (編集ミスです。申し訳ありません)  正しくは「float time;」です。 ・他にも、原因はわからずうまくいっていない方が居ます。  プログラムを本文にコピー&ペーストして (2)プログラムは実行できたがF5キーに反応しない マックユーザーでF5に他の機能が割り当てられている場合に発生しているようです。 if (Input.GetKeyDown(KeyCode.F5)) の行(24行目です)の「KeyCode.F5」を「KeyCode.A」に変えると F5の代わりにAキーが反応するようになります。 Aキーが壊れると色々しんどいので、連打のし過ぎには注意しましょう。 (3)プログラムは実行できたが画面に何も出ない。 プロジェクト作成時に、3Dプロジェクトで作成した場合、 新規で作ったテキストの座標が画面外になります。 2Dプロジェクトを作り直すか、テキストの座標を修正する必要があります。 (画像un224の右上の方、座標で言うとX1409,Y173あたり) PosXとPosYが0以外の数値になっていたら、クリックして0を入れてください。