Cubeを配置する
CoddyのUnityジャーニー「Unityスクリプティングの基礎」セクションの一部。レッスン 2/67。
すべてのGameObjectにはTransformがあります。これは位置、回転、スケールです。スクリプトから自身のオブジェクトのTransformにはtransformとしてアクセスでき、transform.positionはオブジェクトの中心の位置を表すVector3です。x(右)、y(上)、z(前方、カメラから遠ざかる方向)の3つの数値で表します。1単位は1メートルです。
オブジェクトをどこかに配置するには、Start()で新しい位置を設定します。このランプの高さは2単位で、上面がy = 2にあるテーブルの上に、x = -2、z = 4を中心として置くものとします。ランプの中心はテーブルの上面から高さの半分だけ上になるため、yは2 + 1 = 3です。
void Start()
{
transform.position = new Vector3(-2, 3, 4);
}ゲームの実行中にHierarchyでランプを選択すると、InspectorのTransformにPositionと同じ3つの数値が表示されます。
チャレンジ
簡単オレンジ色のプラットフォームは x = 3、z = 2 を中心とし、上面は y = 1.5 の位置にあります。青いキューブの高さは 1 単位です。Start() で、キューブがプラットフォームの中央に乗るように位置を設定してください。
位置はオブジェクトの中心であり、底面ではないことを覚えておいてください。
Play を押して着地する場所を確認し、その後 Check を押してください。
自分で試してみよう
using UnityEngine;
public class PlaceCube : MonoBehaviour
{
void Start()
{
// x, y, z: この3つの数値を変更する
transform.position = new Vector3(0, 1, 0);
}
}
このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。