フィーチャービルダー
LightshipMap
プレハブでは、マップタイルの特徴のメッシュを生成してレンダリングするために設定可能なフィーチャービルダーを使用しま す。
フィーチャービルダーには、次の5つの基本タイプがあります。
- GroundBuilder デフォルトのグラウンドメッシュを構築する。
- StructureFeatureBuilder 構造体を構築する。
- AreaFeatureBuilder 陸地と水域を構築します。
- LinearFeatureBuilder 高速道路、道路、小道、小川、河川などの線形フィーチャを構築します。
各フィーチャービルダーは、設定されたマップレイヤーと、各マップレイヤーのカテゴリーに属する特徴の設定されたリストに対して構築します。 フィーチャービルダーでは、レイヤー名の前には LAYER_
、特徴の種類の名前の前には KIND_
が付いています。
AreaFeatureBuilderAsync、 GroundBuilderAsync、 LinearFeatureBuilderAsync は、それぞれのビルダーのパフォーマンス・バージョンです。
これらのクラスは実際には非同期ではないため、将来のリリースでは名前を変更し、「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では、 Undefined をマップレイヤーとして使用します。 すべての特徴を構築します。
BuildingBuilderAsync
BuildingBuilderAsyncでは、 Buildings レイヤーを使用します。 すべての特徴を構築します。 また、次のプロパティも追加されます。
- Min Height - レンダリングされた建造物の高さの最小値。
- Max Height - レンダリングされた建造物の高さの最大値。
AreaFeatureBuilderAsync
ParkBuilderAsync、WaterAreaBuilderAsync、ParkingBuilderAsync、TransitAreaBuilderAsync、SandBuilderAsyncは、基本テーマのプレハブに含まれている定義済みのエリアビルダーです。
あらかじめ定義されたエリアビルダーには、それぞれ選択されたレイヤーとそのレイヤーの特徴セット含まれます。
LinearFeatureBuilderAsync
HighwayBuilderAsync、PathBuilderAsync、RoadBuilderAsync、WaterLinearBuilderAsync、TransitLinearBuilderAsyncは、基本テーマのプレハブに含まれている定義済みの線形フィーチャービルダーです。
あらかじめ定義された線形フィーチャービルダーには、それぞれ選択されたレイヤーとそのレイヤーの特徴セットが含まれます。 LinearFeatureBuildAsyncでは、次のプロパティも追加されます。
- Smooth Linear Feature Knobs
- End Cap Point Count - 道路の端にある丸みを帯びた「キャップ」の頂点数。
- Bend Threshold - このしきい値(
cos(x)
(度))より鋭い、または大きく曲がっている道路ほど、多くの頂点でその外側のエッジが平滑化されます。 - Smooth Factor - 道路の2つの線分が交わる部分のエッジが平滑化されます。 係数が高いほど、多くの頂点が追加され、丸みを帯びた形状になります。
- 線形特徴のサイズの設定
- Linear Feature Size - 線形特徴の幅を計算するために使用される、定義済みの最小値と最大値のセット。 この値は、
LinearFeatureSizeSettings.cs
ファイルで確認して、調整することができます。 これで、複数の線形フィーチャービルダーに簡単に値を設定することができます。 プリセット値として、 Small 、 Medium 、 Large が用意されています。 ドロップダウンで Custom を選択して、カスタム値を設定することもできます。- Custom Linear Feature Min - マップの現在のズームレベルとマップタイルのサイズに基づいて、線形特徴の幅を狭めます。
- Custom Linear Feature Max - マップの現在のズームレベルとマップタイルのサイズに基づいて、線形特徴の幅を広げます。
- Minimum Width - 線形特徴の最小幅。
- Maximum Width - 線形特徴の最大幅。
- Linear Feature Size - 線形特徴の幅を計算するために使用される、定義済みの最小値と最大値のセット。 この値は、
詳細度(LOD)
詳細度(LOD)は、マップのズームレベルを制御します。 Min LOD
では、マップの詳細度の最小値(マップがズームアウトされている状態)を制御することができます。 Max LOD
では、マップの詳細度の最大値(マップ がズームインされている状態)を制御することができます。 詳細度を設定するには、UnityのUIを使用するか、ビルダークラスの MinLOD
と MaxLOD
プロパティを設定します。