目的 Mouseでクリックしたワールド座標と Gridで管理されているTilemapのワールド座標から クリックされたTileの位置を特定したい。 クリックした座標と連動 手段 Mouse側 // Vector3でマウス位置座標を取得する position = Input.mousePosition; // Z軸修正 position.z = 10f; // マウス位置座標をスクリーン座標からワールド座標に変換する screenToWorldPointPosition = Camera.main.ScreenToWorldPoint(position); //tilemapに座標情報を渡す Tilemap.clickedPosition(screenToWorldPointPosition);
概要 Tilemapの情報をスクリプトで取得して処理したかったので取得方法を調べてみました。 取得方法 タイルがどこに存在するかを取得する タイルが存在する範囲はTilemap.cellBoundsで知ることができます。この範囲のセルに対してTilemap.HasTileを使うことでどのセルにタイルが存在するかを取得できます。 実装例: public static void OutputPosition(Tilemap tilemap) { var builder = new StringBuilder(); var bound = tilemap.cellBounds; for (int y = bound.max.y - 1; y >= bound.min.y; --y) { for (int x = bound.min.x; x < bound.max.x; ++x) { build
はじめに UnityのTilemapで2DのRPGを作ろうと試みて1ヶ月。 この1ヶ月の間、Tilemap作成時に心が折れそうになるときがあったので 自分なりに分解、考察してみました。 作業はUnity2018.2で行っています。 Tilemap作成時に心が折れそうになるポイント 個人的にはこの3つでした。 作業しているタイルマップをよく間違える Inspectorにタイルマップの情報がない Prefab化したタイルマップが見えない 詳細を以下に書きます。 a. 作業しているタイルマップをよく間違える タイルマップを置くレイヤーはTile Paletteビューの Active Tilemap で指定するのですが、 多層レイヤーでゲームを作成する場合、この指定ミスを多くやってしまいました。 ありがちなのはHierarchyビューでタイルマップを指定した気になるパターンです。 他のレイヤーのa
つい最近 2018.2 リリースで加えた Hexagonal Tilemap サポートに続いて、Unity 2018.3 のリリースで、Isometric Tilemap サポートを導入しました。新しいタイルマップ機能は、等角グリッドと六角形グリッドのレイアウトに基づいて 2D 環境を作成できる素早く高性能な方法を提供します。このようなグリッドレイアウトは『Diablo』や『Fallout』フランチャイズの初期、『Civilization』、『Age of Empires』、その他多くの懐かしいゲームクラシックで良く見られます。 どちらのレイアウト機能も以前 Unity 2017.2 で導入された既存のタイルマップシステム上に構築されているので、使用も同様に簡単です。新しい機能も、エディターにもとから搭載されていますが、Unity の今後のリリースでは、パッケージマネージャーに移されるかも
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く