本文へスキップ

マップ上にオブジェクトを配置する

前提条件

  1. Lightship Mapsがインストールされた新しい3D(URP)Unityプロジェクトが必要です。 手順については、 Lightship Maps SDK のインストールを参照してください。

手順

  1. Create Asset(アセットの作成) メニューから、新しい GameObject Placement Layer プレハブを作成します。 あるいは、 MapLayer コンポーネントと、 LayerGameObjectPlacement コンポーネントを少なくとも1つ持つ、 GameObject を新規作成します。

    マップレイヤーのプレハブメニュー
  2. 新しいMapLayerプレハブまたはGameObjectをシーンの LightshipMapViewMap Layers(マップレイヤー) リストに追加します。

    マップレイヤーのプレハブメニュー
  3. LayerGameObjectPlacement コンポーネントの Prefab フィールドを、インスタンス化されるプレハブまたは GameObject に設定します。

    マップレイヤーのプレハブメニュー
  4. この LayerGameObjectPlacement コンポーネントへの参照をシリアライズします。

    [SerializeField]
    private LayerGameObjectPlacement _objectSpawner;
  5. 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);