ブロック周りの修正と追加
こんにちは🍎
前回地形作成用にブロックであれこれする物を作りましたがちょっと不足というか不備があったので修正版をアップします。
主に Tool_CombineBlockParts.cs の最適化周りの修正がメインですが、前回までの物ではスケールがすべて1な真四角のブロックだけしか対応せず、たとえばYのスケールを0.5くらいにしたハーフブロックとかを組み込んだ場合は、最適化処理に不具合が生じて表示されなければならない面が非表示になったりなど正確さに欠けてしまってました、修正版では各面の4隅と中央から法線方向にレイを飛ばして、合計5ポイントが隠れていれば面を表示しないきちんと測定している方式にしています。
大きいのはこれくらいですが、修正がてらついでに何点か追加もしました。
まず、ブロックの各面のUV位置の指定に従来のマップチップ方式とピクセル指定方式を選んでパラメータを入力できるようにしました。
設定項目のプルダウンメニューに「ChipID」と「PixelClip」があるので「PixelClip」に設定後各面のX、Y、Width、Heightを指定すればクリップされた範囲のテクスチャが表示されます。
なんでピクセル方式が必要なの?ってお思いでしょうが、従来の正方形を基準としたマップチップ方式だと、ハーフブロックやロングブロック等を作ったときにどうしても側面や上下面が正方形でなくなってしまって表示がゆがんでしまい、あまりいい気持ちじゃないな~ってなったので正確に表示できるように用意しました。(設定が若干めんどいけどしょうがない🍏)
テクスチャの指定の箇所をクリップできるので面と同じ比率の画像をクリップしてもらえればきれいに表示できます。
あともう一つは「カラーブロック」という、色だけ変更してあれこれする簡易版のブロック機能を用意しました。
こちらは特定の色(ファミコンのカラーパレットを参考に)を、マップチップ方式の要領で指定していくだけでいいので割と使い勝手はいいですが、ややのっぺりしちゃうのが欠点なので、何か使いどころ考え中です。
一応カラーブロックもブロックの範囲の物なので、上記の Tool_CombineBlockParts.cs の最適化は可能だったりします、適当に積み重ねて一体化して使う的な事も可能なので、アイデアがあれば色々作れると思います。
実際に使用しているテクスチャは8x8ドットなのでとても小さいですが、色の並びはこれと同じなので参考までに。
地面以外はすべてカラーブロックで作ってみたの図↓
最後に、今回の実際動作するアセットフォルダも置いておきますので、アセットフォルダを空プロジェクトに入れれば確認できます。
Assets_2022_04_18.zip (1.19MB)
ダウンロード※2022/04/22 メッシュ結合の面中心からレイを飛ばす処理にミスあったので修正版も上げておきます。
Assets_2022_04_22_Assets.zip (1.19MB)
ダウンロード