すぐに固まるパソコンを使う。

すぐに固まるパソコンを使って色々します(実はそんなすぐでもない)。基本的にプログラミング系が多いです。たまに違うことします。

Immediately Freeze!

重くなるUnityを使う 17 「ビルディングス2」

作ったScriptをこんな風にします。

gist.github.com

 追加した部分を解説します。

 

kabe1の代入式が kabe1 = GameObject.CreatePrimitive (PrimitiveType.Cube);

になっています。CreatePrimitiveメソッドは、プリミティブ(つまり基本的な図形)を作成できるもので、引数はプリミティブのタイプです。今回は壁なのでCubeにしました。

また、そのままでやると壁の名前が"Cube"になるので、kabe1.nameで名前を呼び出して、”kabe1”を代入しています。kabe1.nameはGameObject内の変数です。

 

次に壁の設定をするのですが、そのままStart()に書いていくと他のやつも同じように書いてしまいとてもめんどくさいのでコルーチン(多分こう言う)を作りました。コルーチンScript内で決めたメソッドです。つまり、{}の処理を引数に沿った形で実行するのです。

 

そのメソッドsetKabeTrans(~~){ です。引数は、オブジェクト,座標のx,y,z,大きさのx,y(zは20で固定),回転度のx,y,zです。引数は、「型名(floatは数字の種類) 名前」で指定します。

メソッド内は、引数のkabeの大きさを変えています。kabe.transformInspectorTransformと同じです。localPositionは初期座標、localRotationは初期回転率、localScaleは初期の大きさです。代入するのは、Vector3Quaternionというクラスです。Vectorは世に云う「ベクトル」をクラスにしたもので、Quaternionは回転をクラスにしたものです。Vector3ではそのまま長さの指定ができます。Vector2はX,Yだけのようです。そしてQuaternionでは度数を表せるEulerメソッドを指定します。これで回転を何度かで表せます。

 

これをSaveして新しいGameObject(Heya_1)にアタッチして実行すると、、

f:id:norlself66:20150323141717p:plain

それまでなかったCubeが出てきました、またHierachyにも追加されています。設定でz方向に45度傾けたので、少し埋まっています。

 

これで、シーンに見えるオブジェクトを追加することが出来ました。