Search Results for

    Show / Hide Table of Contents

    Class Model

    DLL側で実装された Model を、C# 側の Model としてデータを受け取るためのクラスです。 (Node, Mesh, SubMesh も同様です。)

    Model は、GMLファイルパーサーから読み取った3Dメッシュ情報を各ゲームエンジンに渡すための中間データ構造として設計されています。 そのデータにはメッシュ、テクスチャパス、ゲームオブジェクトの階層構造が含まれており、 DLLの利用者である Unity や Unreal Engine がメッシュやゲームオブジェクトを生成するために必要な情報が入るよう意図されています。 Model はそのデータ構造の階層のトップに位置します。

    Model クラスのデータを元に、実際にメッシュやゲームオブジェクトを生成するのは PLATEAU Unity SDK の責務となります。

    中間データ構造の階層 : Model -> 所有(0個以上) -> Node(階層構造) -> 所有(0or1個) -> Mesh -> 所有(1個以上) -> SubMesh

    Model が所有する Node の階層関係は、ゲームエンジン側でのゲームオブジェクトの階層関係に対応します。 Node が所有する Mesh は、そのゲームオブジェクトが保持する3Dメッシュに対応します。 Mesh が所有する SubMesh は、そのメッシュのサブメッシュ(テクスチャパスを含む)に対応します。

    DLLから得た Model を delete するのは C# 側の責務なので、 IDisposable を実装して不要時に delete しています。 delete 後は、配下のノードやメッシュにもアクセスできなくなります。

    Inheritance
    System.Object
    Model
    Namespace: PLATEAU.PolygonMesh
    Assembly: cs.temp.dll.dll
    Syntax
    public class Model : PInvokeDisposable

    Constructors

    Model(IntPtr)

    Declaration
    public Model(IntPtr handle)
    Parameters
    Type Name Description
    IntPtr handle

    Properties

    RootNodesCount

    Model の持つ ルートNode の数を返します。

    Declaration
    public int RootNodesCount { get; }
    Property Value
    Type Description
    System.Int32

    Methods

    AddNodeByCppMove(Node)

    ルートにノードを加えます。 取扱注意: C++の std::move によって Node が移動するので、 実行後は元の node は利用不可になります。

    Declaration
    public void AddNodeByCppMove(Node node)
    Parameters
    Type Name Description
    Node node

    Create()

    Declaration
    public static Model Create()
    Returns
    Type Description
    Model

    DebugString()

    Model 以下の階層構造を文字列で表現します。

    Declaration
    public string DebugString()
    Returns
    Type Description
    System.String

    DisposeNative()

    Declaration
    protected override void DisposeNative()

    Finalize()

    Declaration
    protected void Finalize()

    GetRootNodeAt(Int32)

    index 番目の Node を返します。

    Declaration
    public Node GetRootNodeAt(int index)
    Parameters
    Type Name Description
    System.Int32 index
    Returns
    Type Description
    Node
    In This Article
    Back to top PLATEAU SDK for Unity