【事前学習】 ベクトルの成分について復習しておきましょう。
Unity1
Unity1
基本操作
立体オブジェクトの生成
- Hierarchyウィンドウの左上辺りでメニューの+ボタン/3D Object/Sphereなどを選択。
- Hierarchyウィンドウに新しく生成された立体オブジェクトを選択し、その状態でInspectorでPosition,Rotation,Scaleで位置や姿勢、大きさを変更できます。
オブジェクトのマテリアル設定
- Projectウィンドウの左上辺りで+ボタン/Materialを選択し、新しいマテリアルをAssetsフォルダ内に生成し、名前を例えばBlueに変更します。(名前には日本語などの全角文字は使わず、単語の先頭は大文字にしておきましょう。)
- 作成したBlueのマテリアルを選択し、その状態でInspectorのAlbedoの横の四角形をクリックしてカラーピッカーを開き、色を好みのもの、例えば青色に変更します。
- 作成したBlueのマテリアルをドラッグしてSceneウインドウ内のCube上にもっていきCubeの色が変わったところでマウスボタンを離します。
オブジェクトへのスクリプトのアタッチ
- Projectウィンドウの左上辺りで+ボタン/Scripting/MonoBehaviour Script を選択し、新しいスクリプトをAssetsフォルダ内に生成し、名前を変更します。(名前には日本語などの全角文字は使わず、単語の先頭は大文字にしておきましょう。)
- 作成したスクリプトをドラッグしてSceneウインドウ内のアタッチしたいオブジェクト上にもっていきマウスボタンを離します。
ベクトルの成分 Lesson 3D の問題1 3)
- 座標軸を円柱オブジェクトで作成(Hierarchy/左上+ボタン/3D Object/Cylinder)し、xyz軸をそれぞれ赤、緑、青(Project/左上+ボタン/Materialで生成後、オブジェクトにアタッチ)にする。
- 頂点A,B,Cを球オブジェクトで生成し、InspectorのPositionの値を設定する。
- ABを2:1に内分する点Cの座標を頂点A,Bから生成する以下のスクリプト(Project/左上+ボタン/Scripting/MonoBehaviour Script)を球Cにアタッチ。さらにInspectorでC(Script)のAおよびBのフォームにゲームオブジェクトのAおよびBをセット
using UnityEngine;
public class C : MonoBehaviour
{
public Transform A;
public Transform B;
void Start()
{
transform.position=A.position*0.333f+B.position*0.667f;
}
}
Main Cameraを回転するスクリプト
- 以下のスクリプトをMain Cameraにアタッチ
using UnityEngine;
public class MoveCamera : MonoBehaviour
{
void Update()
{
transform.RotateAround(Vector3.zero, Vector3.up, 0.1f);
}
}
- Main Cameraの高さをpositionのy座標、見下ろす角度をrotationのx軸まわりで調整
ベクトルの成分 Lesson 3D の問題7
- 頂点A,B,C,Dを球オブジェクトで生成し、InspectorのPositionの値を設定する。
- 点Dの座標を頂点A,B,Cから生成する以下のスクリプトを球Dにアタッチ
using UnityEngine;
public class D : MonoBehaviour
{
public Transform A;
public Transform B;
public Transform C;
void Start()
{
transform.position=B.position+C.position-A.position;
}
}
- 円柱オブジェクトを生成し、以下の両端点をv1,v2とする以下のスクリプトをシリンダーにアタッチし、辺AB,AC,BD,CDを表す
using UnityEngine;
public class Edge : MonoBehaviour
{
public Transform v1;
public Transform v2;
void Start()
{
transform.position=(v1.position+v2.position)*0.5f;
var v12=v2.position-v1.position;
transform.rotation=Quaternion.FromToRotation(Vector3.up, v12);
transform.localScale=new Vector3(0.1f, v12.magnitude*0.5f, 0.1f);
}
}
【事後学習】 演習問題をUnityで実装できるようになりましょう。
This site is powered by