マップ上にオブジェクトを配置する
前提条件
- Lightship Mapsがインストールされた新しい3D(URP)Unityプロジェクトが必要です。 手順については、 Lightship Maps SDK のインストールを参照してください。
手順
Create Asset(アセットの作成) メニューから、新しい GameObject Placement Layer プレハブを作成します。 あるいは、 MapLayer コンポーネントと、 LayerGameObjectPlacement コンポーネントを少なくとも1つ持つ、 GameObject を新規作成します。
新しいMapLayerプレハブまたはGameObjectをシーンの LightshipMapView の Map Layers(マップレイヤー) リストに追加します。
LayerGameObjectPlacement コンポーネントの Prefab フィールドを、インスタンス化されるプレハブまたは GameObject に設定します。
この LayerGameObjectPlacement コンポーネントへの参照をシリアライズします。
[SerializeField]
private LayerGameObjectPlacement _objectSpawner;PlaceInstance() メソッドを呼び出して、このオブジェクトのインスタンスをマップ上に配置します。
var location = ScreenPointToLatLong(touchPosition);
var cameraForward = _mapCamera.transform.forward;
var forward = new Vector3(cameraForward.x, 0f, cameraForward.z).normalized;
var rotation = Quaternion.LookRotation(forward);
_objectSpawner.PlaceInstance(location, rotation);