本文へスキップ

フィーチャービルダー

LightshipMap プレハブでは、マップタイルの特徴のメッシュを生成してレンダリングするために設定可能なフィーチャービルダーを使用します。

フィーチャービルダーには、次の5つの基本タイプがあります。

各フィーチャービルダーは、設定されたマップレイヤーと、各マップレイヤーのカテゴリーに属する特徴の設定されたリストに対して構築します。 フィーチャービルダーでは、レイヤー名の前には LAYER_ 、特徴の種類の名前の前には KIND_ が付いています。

AreaFeatureBuilderAsyncGroundBuilderAsyncLinearFeatureBuilderAsync は、それぞれのビルダーのパフォーマンス・バージョンです。

備考

これらのクラスは実際には非同期ではないため、将来のリリースでは名前を変更し、「Async」は削除する予定です。

各テーマには、エリアや線形特徴の特定の側面を処理するビルダーや、地表や建造物の一般的なビルダーが設定されています。

Ground(地表): GroundBuilderAsync

Structures(建造物): BuildingBuilderAsync

Areas(エリア): ParkBuilderAsync、WaterAreaBuilderAsync、ParkingBuilderAsync、TransitAreaBuilderAsync、SandBuilderAsync

Linear Features(線形特徴): HighwayBuilderAsync、PathBuilderAsync、RoadBuilderAsync、WaterLinearBuilderAsync、TransitLinearBuilderAsync

ビルダータイプには、次のようなプロパティがあります。

  • Script(スクリプト) - ビルダーに実行するスクリプト。
  • Builder Name(ビルダー名) - 生成するメッシュに関連付けられているビルダーの名前。 プロジェクト内で一意である必要があります。
  • Min LOD(最小LOD) - 詳細度(LOD)の最小値。 マップタイルの最小ズームレベル。
  • Max LOD(最大LOD) - 詳細度(LOD)の最大値。 マップタイルの最大ズームレベル。
  • Z Offset(Zオフセット) - Zファイティングを軽減するための地表面からの任意のオフセット。
  • Materials(マテリアル) - ビルダーで使用するマテリアルのリスト。
  • Map Layer(マップレイヤー) - 特徴を構築するためのマップレイヤーの種類。
  • Features for Layer(レイヤーの特徴) - 構築する特徴の種類のリスト。 リストが空白の場合は、すべての機能をレンダリングします。

GroundBuilderAsync

GroundBuilderAsync

GroundBuilderAsyncでは、 Undefined をマップレイヤーとして使用します。 すべての特徴を構築します。

BuildingBuilderAsync

StructureFeatureBuilderAsync

BuildingBuilderAsyncでは、 Buildings レイヤーを使用します。 すべての特徴を構築します。 また、次のプロパティも追加されます。

  • Min Height - レンダリングされた建造物の高さの最小値。
  • Max Height - レンダリングされた建造物の高さの最大値。

AreaFeatureBuilderAsync

ParkBuilderAsync、WaterAreaBuilderAsync、ParkingBuilderAsync、TransitAreaBuilderAsync、SandBuilderAsyncは、基本テーマのプレハブに含まれている定義済みのエリアビルダーです。

ParkingBuilderAsync

あらかじめ定義されたエリアビルダーには、それぞれ選択されたレイヤーとそのレイヤーの特徴セット含まれます。

LinearFeatureBuilderAsync

HighwayBuilderAsync、PathBuilderAsync、RoadBuilderAsync、WaterLinearBuilderAsync、TransitLinearBuilderAsyncは、基本テーマのプレハブに含まれている定義済みの線形フィーチャービルダーです。

LinearFeatureBuilderAsync

あらかじめ定義された線形フィーチャービルダーには、それぞれ選択されたレイヤーとそのレイヤーの特徴セットが含まれます。 LinearFeatureBuildAsyncでは、次のプロパティも追加されます。

  • Smooth Linear Feature Knobs
    • End Cap Point Count - 道路の端にある丸みを帯びた「キャップ」の頂点数。
    • Bend Threshold - このしきい値(cos(x) (度))より鋭い、または大きく曲がっている道路ほど、多くの頂点でその外側のエッジが平滑化されます。
    • Smooth Factor - 道路の2つの線分が交わる部分のエッジが平滑化されます。 係数が高いほど、多くの頂点が追加され、丸みを帯びた形状になります。
  • 線形特徴のサイズの設定
    • Linear Feature Size - 線形特徴の幅を計算するために使用される、定義済みの最小値と最大値のセット。 この値は、 LinearFeatureSizeSettings.cs ファイルで確認して、調整することができます。 これで、複数の線形フィーチャービルダーに簡単に値を設定することができます。 プリセット値として、 SmallMediumLarge が用意されています。 ドロップダウンで Custom を選択して、カスタム値を設定することもできます。
      • Custom Linear Feature Min - マップの現在のズームレベルとマップタイルのサイズに基づいて、線形特徴の幅を狭めます。
      • Custom Linear Feature Max - マップの現在のズームレベルとマップタイルのサイズに基づいて、線形特徴の幅を広げます。
    • Minimum Width - 線形特徴の最小幅。
    • Maximum Width - 線形特徴の最大幅。

詳細度(LOD)

詳細度(LOD)は、マップのズームレベルを制御します。 Min LOD では、マップの詳細度の最小値(マップがズームアウトされている状態)を制御することができます。 Max LOD では、マップの詳細度の最大値(マップがズームインされている状態)を制御することができます。 詳細度を設定するには、UnityのUIを使用するか、ビルダークラスの MinLODMaxLOD プロパティを設定します。