今回は、洞窟を掘って探検したいと思います。
最終的にGaiaと組み合わせてこんな感じ。
今夏のアドカレ用 Diggerで洞窟掘って探検30秒 #Unity pic.twitter.com/JJiNIgiyoa
— すし 🦙₎₎ (@mamesiva64) 2020年8月9日
この記事は「Unity アセット真夏のアドベントカレンダー 2020 Summer!」10 日目の記事になります。
昨日のアドカレは、ホロウさま さんの Anyportraitでゲームに用いた実装 でした。
明日のアドカレは、れいちゃん さんの「Lightning – Procedural Lightning」について紹介 です。
目次
概要
Unityには、標準でTerrainという地形を作成する機能がありますが、Terrainは高さ情報しか持たないので穴を掘ることができません。今回紹介するDiggerは、Terrainに対して穴を掘ることができ、Terrain同様複数のテクスチャを塗ることも可能です。3Dの判定もあります。
Diggerは、DiggerとDigger Pro があります。
Digger Proは、Diggerの機能に加えてリアルタイム、ゲーム内で掘る機能を持っているようです。 参考:https://ofux.github.io/Digger-Documentation/
今回は通常版のDiggerを使用します。
使い方
シーン内にTerrainがある状態で、メニュー > Tools > Digger > Setup terrainsを選択する。
Hierarchyに、Digger MasterとTerrainの子にDiggerが作成されます。
次に、Digger Masterを選択しActionを選択すると穴掘りや追加等の編集ができます。
機能説明
Action
アクションは6種類
Dig ... 掘る
Add ... 追加
Paint ... テクスチャ塗る
Diggerの部分にテクスチャを塗る。Terrain地形は別途Terrainで塗る必要あり。
Reset ... 元に戻す
Smooth ... 凹凸を無くす
BETA_Sharpen ... 凹凸を出す
Brush(形状)
Dig/ Add/ Paintは、形状を選択できます
Sphere(球)
所感:円状の穴を掘る時やアーチ作る時?
Half Sphere(半球)
所感:地面が平らな洞窟掘るのに使える
Rounded Cube(立方体)
所感:小部屋作るのに使える?
Stalagmite(石筍)
所感:地面だけPaintしたい時に使えた。
Gaiaと連携してみる
去年紹介したGaia(現在はGaia2)と組み合わせてみました。
Gaiaは、Terrainで生成されているのでそのまま洞窟掘れました。
基本的に、DigのHalf Sphereで掘り進めます。(カメラを水平にして同じ所をクリックし続ける)
上や下から現在どのくらい掘れているか確認できる
段差等の注目してほしいところはPaintで見せたり
Rounded Cubeで部屋作ったり、Sphereで坂道調整したり
トーチと宝箱設置
完成は、冒頭でも紹介したのですがこんな感じ。
今夏のアドカレ用 Diggerで洞窟掘って探検30秒 #Unity pic.twitter.com/JJiNIgiyoa
— すし 🦙₎₎ (@mamesiva64) 2020年8月9日
多少慣れが必要ですがもりもり掘れました。
注意事項
今回の作成でハマったことや気づいたことメモ
- Terrainは、Contribute GI がOFFであること
DiggerとTerrainのマテリアルが違うので描画が違う可能性があります。
static変更しても違いがあったらライト焼き直し
- バージョンは、Unity 2019.3 以降だと最適化されるので 2019.3以降推奨
ドキュメントに記載 https://ofux.github.io/Digger-Documentation/
2019.3以降のTerrainは、一部削ることができるのでDiggerと相性が良い
- ディレクショナルライトを消しても洞窟内が真っ暗にならない
ディレクショナルライトを消しても、Skybox等の環境光が影響するので真っ暗になりません。ライティング設定でIntensity Multiplierを0にするとライトを切ると暗くなりました(ライティング環境によって調整する数値が異なる可能性あり)
今回は環境光ありでやっています。(この変更は適応していない)
利用したアセット紹介
穴を掘る
今回は、Digger(左の方)
マップの自動生成
Gaia2
宝箱やトーチ
無料のものを利用させてもらいました。
炎のエフェクトが無かったので追加 ※注意↓
このアセットは、EffectExamples以外を入れると、プロジェクト設定が上書きされたりTextMesh Proが重複したりするので注意が必要
開発環境
OS
Unity
Version 2019.4.1f1 (e6c045e14e4e) Personal
Wed, 17 Jun 2020 20:31:52 GMT
Branch: 2019.4/release
以上です。