2015年1月19日月曜日

初めてUnityをいじってみた。 チュートリアルのブロック崩し編 第1回

インストールと登録関連は特に問題なく進みました。
Versionは4.6.1f1。

入門系のブロック崩しのチュートリアルを見ながらいじっていきます。
参考にしたチュートリアルは公式のチュートリアル「はじめての Unity

最初にチュートリアル通りに底辺にあたる壁を配置。
設定がよくわかってなく、マウスで壁を調整しようとしてうまくいかない。

色々やってて、結局インスペクターからTransFormをいじる事に。
Position:位置、Rotation:回転、Scale:大きさとなっている。
チュートリアルどおりにPosition(0,0,0) Rotation(0,0,0) Scale(20,1,1)に設定

次に左辺にあたる部分。
Duplicateで複製し、Position(-10,0,15) Rotation(0,0,0) Scale(1,1,20)に設定
残り二辺もさくっと作成。
Position(0,0,30) Rotation(0,0,0) Scale(20,1,1)に設定
Position(10,0,15) Rotation(0,0,0) Scale(1,1,20)に設定
これで囲む壁が出来ました。
上部にある「実行(右向きの▲)ボタン」?で多分実行だろうと押す。

・・・・・・保存してなかったせいか巻き戻りみたいな事に。
やる気Down

気を取り直して、再設置してから、カメラの設定。
色々いじるがいい形にならない。
とりあえずは、全体が表示されるのでそのまま置いて、光源の追加。
ここは特に問題はありませんでした。

ラケットとボールの配置。Sphereで球体の配置が出来ます。
ここで気をつけないといけないのは、壁とラケット、ボールの位置関係。
平面ベースでやってるので今回はPositionのYを0に合わせます。あとは位置はお好みの位置で大丈夫。
これで、見た目の部分としては完了します。

動く物体の設定をします。対象はラケットとボール。
対象を選択しつつComponent→Physics→Rogodbodyを追加。
まずはボールから。
Drag:空気抵抗を0に設定。これで動いてる間は遅くならないはず。
Freeze PositionでY軸を固定。Freeze Rotationは回転要素なのでX,Y,Zを全て固定。
Y軸を固定したので必要ないかもしれませんが、Use Gravity:重力の使用のチェックをはずします。
Mass:質量はとりあえず1くらいにしておきます。
ボールの動きを入れていきます。最初に開始時の方向。
Project→Create→C#で新しい命令を追加します。名前は自分でわかりやすい名前をつけるといいです。
チュートリアルではJavaScriptでやってますが私がC#の方が慣れ親しんでるのでこちらで作成します。
private float speed = 10.0;
// Use this for initialization

private void Start () {
 rigidbody.AddForce ((transform.forward  + transform.right) * speed, ForceMode.VelocityChange);
 //rigidbody.velocity = (transform.forward  + transform.right) * speed;
}
と記述します。Start()の部分は最初からあります。
speedで初期速度を設定してます。 rigidbody.AddForceで力を加えます。
ForceMode.VelocityChangeはいきなりその速度にする設定です。
その下にコメントで同じですがプロパティで設定する方法を記述しました。

とりあえずボールが動く用になりました。
かなり長くなりましたので今回はここまで。

0 件のコメント:

コメントを投稿