0

クライアントの 3D モデルを Rhino から Unity にインポートしています。Rhino からエクスポートされた fbx ファイルが提供され、Unity にインポートできます。ここで、モデルのカメラ ビューをインポートしたいと考えています。Rhino では、カメラ ビューを fbx の一部としてエクスポートできません。そのため、彼らはそれをスクリプトとして提供してくれました。情報は、サンプルの 3 つのカメラ ビューについて以下のようになります。これらの情報を使用して Unity にカメラ ビューを追加する方法を見つける必要があります。手動で行うことはできません。多くの fbx モデルで行う必要があるため、自動化する必要があります。考えられる 1 つの方法は、これらの値を使用してシーンにカメラを追加するスクリプトを作成することです。しかし、それは実行時に起こります。これを行うための他のより良いオプションはありますか?

ありがとう

  camName "Name View 1"
  camGroup "Name View 1_Grp"
  focalLen "49"
  Cx "29.1070392477262"
  Cy "32.2508470958018"
  Cz "89.5861273886465"
  Tx "0"
  Ty "0"
  Tz "0"

  camName "Name View 2"
  camGroup "Name View 2_Grp"
  focalLen "49"
  Cx "2.9038526478832"
  Cy "99.2149465666948"
  Cz "7.80852804487048"
  Tx "0"
  Ty "0"
  Tz "0"

  camName "Side View"
  camGroup "Side View_Grp"
  focalLen "49"
  Cx "82.9710911032618"
  Cy "31.0804895092999"
  Cz "14.463142097058"
  Tx "10.4951110723463"
  Ty "0.999934019398793"
  Tz "-4.14650803054286"
4

1 に答える 1

1

エディタスクリプトはどうですか?簡潔にするために、自分のファイルを解析して値の意味を理解するのはあなたに任せますが、以下のコードで必要なものが得られるはずです。

例 (未テスト):

using UnityEngine;
using UnityEngine;
using UnityEditor;
using System.Collections;

public class LoadCameras : ScriptableObject
{
    [MenuItem ("CameraLoader/Load")]
    static void MenuCameraLoader()
    {
        var path = EditorUtility.OpenFilePanel(
                "Load cameras",
                "",
                "txt");
        if(path.length!=0){
            // * parse the file here for your values
            // * assume we get a position and orientation
            // * for each camName call
            //   CreateCamera(camName,position,orientation/*, other stuff*/);
        }

    }
    static void CreateCamera(string name,Vector3 position, Quaternion rotation /*, other props*/){
        GameObject newCamera = new GameObject(name);
        newChild.AddComponent(Camera);

        newCamera.transform.position = position;
        newCamera.transform.rotation = rotation;
        // load camera with other properties
    }
}
于 2013-12-12T00:53:04.250 に答える