0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

unityでCSVからステージを作成するエディター拡張

Last updated at Posted at 2020-02-05

##Unityエディター拡張でステージを作ってみる
今回はこのように3Dでステージを展開できるエディター拡張の紹介です
2019.2のバージョンでは動作確認してあります。
キャプチャ.JPG

今回のコードはこちらになります
https://gist.github.com/rx1242/c574f5b9289293a5fce5984c59fe979a

#CSV読み込みについて
読み込みはReadCsvメソッドで行っていて
このメソッドは、読み込みボタンを押すと呼ばれます。

  1. EditorUtility.OpenFilePanelを使いエクスプローラーで直接CSVファイルを指定して、パスを取得してきます。
  2. 取得したパスを使い、StreamReaderでCSVをstringに変換します。
  3. stringをカンマごとに分割して、分割データの配列から行列の数値を取得。
  4. 二十配列に番地ごとのデータを入力していきます
    #マップチップデータ
    これは簡単
    各マップチップのデータをスクリプタブルオブジェクトで作成したクラスに設定するだけ!
    #ステージ展開
    展開はApplyメソッドで行っています。

二重for文で行列ごとのデータと一致する番号のマップチップをInstantiateしていきます。

この時xyのポジションを行列と合うように移動します。
#キャンセル処理
キャンセルはRollbackメソッドで行っています。
生成したステージを削除しているだけです。
#工夫したポイント
そもそもの制作目的が15人チームでストラテジーゲームを作るときに、ステージの作成の高速化というのがあります。
複数人で使用されるだろうという前提があります。
ここで問題なのがファイル構造の問題で、人によってCSVを保存する場所が違うと予想。

EditorUtility.OpenFilePanelを使い直接保存場所からパスを取得できるようにしています。
これで使用するときにAssetsフォルダー内にCSVが無くてもOK!

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?