Blender2.8で作成した3DオブジェクトをUnityにインポートします。
動作環境
- Windows 10 Pro
- Unity 2018.4.10f1
- Blender 2.83
Blenderによる3Dオブジェクトの作成
「Blender 2.8でモデリングする 」を参考にして、Blender 2.83でメガネのモデリングを行います。作成したメガネを次に示します。
Blenderの3Dオブジェクトのエクスポート
メニューから、「ファイル」→「エクスポート」→「FBX」の順にクリックすると次のダイアログが表示されます。「オブジェクトタイプ」の「カメラ」「ランプ」以外を選択して、「FBXをエクスポート」ボタンを押します(「選択したオブジェクト」はチェックしません)。作成したマテリアルもエクスポートできました。
Unityへの3Dオブジェクトのインポート
エクスポートしたFBXファイルをUnityのAsettsにドラッグ&ドロッブし、その後Sceneにドラッグ&ドロッブします。インポートしたUnity画面を次に示します。それぞれにメガネのオブジェクトが設定され、メインカメラから作成したメガネのオブジェクトが見えます。
マウスの動きで3Dオブジェクトを移動
インポートした3Dオブジェクト(メガネ)を、マウスの動きで移動するスクリプトを次に示します。このスクリプトをSceneに表示されているGlassesに貼り付けます。
GlassesBehaviour.cs
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class GlassesBehaviour : MonoBehaviour
{
// 位置座標
private Vector3 position;
// スクリーン座標をワールド座標に変換した位置座標
private Vector3 screenToWorldPointPosition;
// Use this for initialization
// Start is called before the first frame update
void Start()
{
this.transform.localScale = new Vector3(2, 2, 2);
}
// Update is called once per frame
void Update()
{
// Vector3でマウス位置座標を取得する
position = Input.mousePosition;
// Z軸修正
position.z = 10f;
// マウス位置座標をスクリーン座標からワールド座標に変換する
screenToWorldPointPosition = Camera.main.ScreenToWorldPoint(position);
// ワールド座標に変換されたマウス座標を代入
gameObject.transform.position = screenToWorldPointPosition;
}
}
ゲーム実行中の動画を次に示します。マウスの動きに合わせて、作成したオブジェクトが移動します。


