2016年11月12日土曜日

Unityで龍脈みたいなの

アニメ妄想から脱線してなぜかUnity入門。でも一歩一歩コツコツとというタイプじゃないのであちこち脱線しながら。


Unityで龍脈みたいなのをどうやって作ろうか、と思ってTerrainを試してみた。



見づらいけど、上が地面の地形、下が「エネルギーレベル」の地形。レベルは高さが1で色もついてないからわかりづらいけど。

地形は画像データで作ってRAWに変換後にUnityのTerrainで読み込んでいるが、同じようにレベルも画像の濃淡で表現している。うっすらざーっと凹凸を作るのはデータ打ち込みだと面倒だけど、画像ならペイントソフトのブラシとかで簡単に作れる。

レベルを取得するには、取得した居場所の座標(X,Z)を引き数に与えてTerrainData.GetHeightを呼ぶ。戻り値はfloatで帰るので、Terrainの高さを1にしていれば0-1に正規化された値になる。
一応Terrainの設定でDrawをfalseにしてあるが、どれくらいリソースを食ってるのかは不明。Drawがfalseでも「不可視の地面」として当たり判定が存在しているので、何らかの形でリソースを食ってるのは間違いない。


この地形データで魔女が魔法を使うのに必用な魔力を持たせるとして、例えば箒で飛んでいるときにいきなり魔力が0になったときとか、どうすれば良いんだろう。いきなり0になることはないだろうから、エネルギーが薄くなってきたら戻って安全に着陸する、という感じになるのかな。

0 件のコメント:

コメントを投稿