見出し画像

#4【備忘録】Terrainで整地した土地にAssetを使って負荷軽減した建物を設置する【無謀にも3D東方二次創作ゲーム作成】

<前回の記事>

前回までで無人島歩き回るゲームはできたので、今回はランドマークとしてお城を建てようと思います。

1.Terrainで無人島を整える

Terrainは3Dの地形を作成できるツールです。

上記の記事のとおり、地形を盛り上げる、掘る、木や草を植える、テクスチャを貼る等できますが、今回はTerrainで既に調整された無人島のアセットを使っているので、最低限の調整を行いたいと思います。

建物のオブジェクトを凹凸のある場所に設置すると、床と地面の間に不自然な隙間が空くので、SetHeightを使用して広い平坦な土地を作成します。

さらに、SmoothHeightを使用して、縁を滑らかにします。

お城の建設予定地を平坦にならす

2.お城を建設する

上記の記事でも紹介されている「Medieval_Castle」をインポートし、平坦にならした地点に設置します。

Prefabは城のパーツの物しか用意されていないようなので、
Assets>Medieval Castle>Scene>Levelを開き、お城を構成しているPrefabを全て空のオブジェクトにいれて、それをPrefab「Castle」にし、無人島に配置します。いちいちパーツを置くのは手間ですからね。

空のオブジェクトに入れてPrefab化する

無事設置できました。

霊夢さんと謎の城

3.MeshBakerでオブジェクトを結合する

積みアセットを減らすつもりだったのに、新たに買ってしまったMeshBakerも使ってみます。複数のオブジェクトの集まりを一つのオブジェクトに結合するアセットです。以下の2つの記事を併せて読むと使い方が分かりやすいと思います。

↓大体の流れはこの記事を参照

↓結合したオブジェクトをPrefabとして出力する方法はこちらの記事を参照

前述のとおり、Medieval_Castleはパーツ毎にPrefabになっており、それをまとめて、さらにPrefabにしましたが、城ごと1つのオブジェクトにしてしまおうということです。

結合前はBatchesが392、Set Pass Callsが13。これが低ければ負荷が低い。
結合後はBatchesが4、Set Pass Callsが4。相当負荷が減っていると思われる。

ただ、結合後にメッシュコライダーを追加して完成なんですが、お城に近づくと、テクスチャが崩れて気持ち悪いことが判明しました…。何が原因なんだ…。

テクスチャがキモイ…
結合前は石垣がパキっとしています

色々試したが、原因はわかりませんでした…。
そこでこんなツイートを見つけました。

この方が言っていることが正しいとすれば、自分が原因ではなく、MeshBakerとお城のアセットの相性が悪いのでは、どうしようもありません。

4.MeshCombineStudio2でメッシュ結合する

なので、買いました。MeshCombineStudio2。
手順は以下の記事を参考にします。

MeshCombineStudio2実行前
MeshCombineStudio2実行後

BatchesとSetPass callsがMeshBakerのときほどではないですが、下がっています。
Prefabを1つ入れる→結合したいオブジェクトを選択する→Combineボタンをクリックするだけなので、MeshBakerより導入コストが圧倒的に少ないのが素晴らしいです。
もちろんテクスチャーも崩れていません。

MeshBakerについては、キャラクターで使用されている人が多いみたいなので、次回以降に霊夢と魔理沙で試してみようと思います。
それでもダメなら返金してもらおうかなーと思います。
そもそも手間と時間がかかりすぎなんですよね。

次回はVroidに表情をつけたり、スカートの揺れを調整したりしようと思います。

<次回の記事>

<MeshBakerをキャラクターに使用している記事・動画>

<その他・参考記事>

この記事が気に入ったらサポートをしてみませんか?