Unity3D – 5 – Packageの登録
正式なやり方なのか分かりませんが、Unityにはパッケージというものがあり、機能を拡張することができます。
それの登録の仕方です。
まずはコチラでパッケージをダウンロードします。
様々なパッケージがダウンロード出来ますが、とりあえず全部ダウンロードしてみました。
そして、
C:\Program Files (x86)\Unity\Editor\Standard Packages\
ディレクトリに移動させるとUnityで認識されます。
Unityからファイル、開く、で現在のプロジェクトに追加することは出来るようです。
プロジェクトにアセットとして読み込まれていることが確認できます。
とりあえず今回は地形作成にスポットを当てて調べてみます。
ファイルメニュー、「Terrain」から「Create Terrain」を選びます。
プレーンが生成されます。「Inspector」に「Terrain」という項目があるのが分かります。
表示されているアイコンにマウスポインタを当てると説明が出てきます。
とりあえず、高さを変えてみよう、と、ブラシを使って描いてみます。
なだらかに描けます。
マウスボタンを手放すと劣化するのが分かります。
これはどうやらLODを自動生成しているようで、カメラを寄せると元のデータが残っていることが分かります。
こんな感じです。
自動でカメラが引いたときに、遠景のポリゴンを省略してくれるようです。
ありがたいのだか、大きなお世話なのだか分かりませんが。
適当に凹凸を付けます。
どうやら、アイコンの一番目と二番目の違いは、二番目は高さ制限が付けられるブラシのようです。
メッシュはY軸にしか動かないようです。
アダプティブサブディビジョンでは無いようで、あらかじめある程度の細かさを持ったメッシュのようです。
「Shift」キーを押すと凹ませることができます。
-Yの値にはならないようです。それが必要な場合は全体を上げて対応するのでしょうか?
テクスチャを描いてみます。
「Inspector」から筆のアイコンを選択し、「Edit Textures…」をクリックし、「Add Texture…」を選んでテクスチャを追加します。
「None (2D Texture)」の横にある下を向いた三角(▼)をクリックするとテクスチャ一覧が表示されます。
「TerrainAssets.unitypackage」を読み込んでいると色々とテクスチャが入っています。
適当なものを選んで、「OK」を押して決定します。
単色じゃないか、と思いますが、寄ってみるとテクスチャであることが確認できます。
タイリングが激しいようです。
「Edit Textures…」から「Edit Texture…」を選んでテクスチャの調整をします。
とりあえずXとY共に50くらいの数値を入れてみます。
「Apply」する前に結果が見えます。便利です。
同じ要領でテクスチャを追加します。
草の生えているテクスチャを選び、タイリングも「50」くらいに設定して適用します。
新たに読み込んだテクスチャが選択されていることを確認し(テクスチャの下に水色の線が付きます)、
ブラシと「Opacity」を変更して適当に塗ってみます。
ざっとこんな感じです。
どうやら仕組みとしては、
あらかじめある程度の細かさとLODが設定されているメッシュを用意され、
それのY軸をブラシで変更することが出来る。
読み込んだテクスチャをベタに貼れる。
どこかにグレースケール画像を持ち、テクスチャのアルファとして持つことでテクスチャを節約(?)出来る。
というもののようです。
期待していたよりは粗い機能でした。
形状を大きく変えるとテクスチャが伸びます。Y軸にしか動かないので複雑な形状には向きませんし、
大雑把な形しかできません。
次はブラシで生成できる、木などのオブジェクトについて調べてみます。
これで配置したオブジェクトを内部的にインスタンスとして処理をし、負荷の軽減に使われていることを期待してしまいますが、
ゲーム機においてはインスタンスとは主に全くの同一の物なので、むしろ使いどころの分からないものであることが多いようです。
そこまで調べられるか疑問ですが、見てみたいとお思います。
10.09.28 @ 8:40 PM
こちらでは初めまして。Terrainの解説とても参考になりました。
リアルタイムで解像度が変わるので、どんな仕組みなのか興味津々
だったんですが、LODを自動生成してたんですね。
通常のGameObjectではPrefabと言う機能がインスタンスに当たる
様ですが、こちらはTransform以外に編集を加えるとオリジナルと
のリンクが切れてしまうので、草木を配置する機能がインスタンス
として動作するのか等、次回以降の更新も楽しみにさせて頂きます。
10.09.28 @ 10:37 PM
どなたかと思いました、お久しぶりです?
そうでも無いですかね。
Prefabの最適用は「Inspector」の一番上の方にある、
「Revert」か「Apply」で出来るようです。
戻すか、変更を保持したままインスタンスの適用。
ということなのでしょうか?
Terrainに関しては半分適当に言ってます。すいません。
多分そうだろう、と思っております。
Unity3出ましたね。楽しみです。
jk_takaさんが作るものも楽しみにしております。
書き込み有難うございます。