Alpaca Tech Blog

ゲーム作る系 草食動物の備忘録

【Unity】夏なので洞窟を掘って探検したい【Digger】

今回は、洞窟を掘って探検したいと思います。  

最終的にGaiaと組み合わせてこんな感じ。

 

この記事は「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を選択する。

f:id:alpacatech:20200808080950p:plain

 Hierarchyに、Digger MasterとTerrainの子にDiggerが作成されます。 

f:id:alpacatech:20200808082907p:plain

 

次に、Digger Masterを選択しActionを選択すると穴掘りや追加等の編集ができます。   

 

機能説明

Action

アクションは6種類

f:id:alpacatech:20200808082250p:plain

Dig ... 掘る

f:id:alpacatech:20200809134846g:plain

Add ... 追加

f:id:alpacatech:20200809144213g:plain

Paint ... テクスチャ塗る

Diggerの部分にテクスチャを塗る。Terrain地形は別途Terrainで塗る必要あり。

f:id:alpacatech:20200809144322g:plain

Reset ... 元に戻す

f:id:alpacatech:20200809144358g:plain

Smooth ... 凹凸を無くす

f:id:alpacatech:20200809144437g:plain

BETA_Sharpen ... 凹凸を出す

f:id:alpacatech:20200809144458g:plain

 

Brush(形状)

Dig/ Add/ Paintは、形状を選択できます

 f:id:alpacatech:20200809121252p:plain

Sphere(球)

所感:円状の穴を掘る時やアーチ作る時?

f:id:alpacatech:20200809145425p:plain

 

Half Sphere(半球)

所感:地面が平らな洞窟掘るのに使える

f:id:alpacatech:20200809145650p:plain

 

Rounded Cube(立方体)

所感:小部屋作るのに使える?

f:id:alpacatech:20200809145116p:plain

 

Stalagmite(石筍)

所感:地面だけPaintしたい時に使えた。

f:id:alpacatech:20200809145239p:plain

 

 

Gaiaと連携してみる

去年紹介したGaia(現在はGaia2)と組み合わせてみました。

alpacatech.hateblo.jp

 

Gaiaは、Terrainで生成されているのでそのまま洞窟掘れました。

基本的に、DigのHalf Sphereで掘り進めます。(カメラを水平にして同じ所をクリックし続ける)

f:id:alpacatech:20200810012636p:plain

 

上や下から現在どのくらい掘れているか確認できる

f:id:alpacatech:20200810012949p:plain

 

段差等の注目してほしいところはPaintで見せたり f:id:alpacatech:20200810013101p:plain

 

Rounded Cubeで部屋作ったり、Sphereで坂道調整したり 

f:id:alpacatech:20200810013245p:plain

 

トーチと宝箱設置

f:id:alpacatech:20200810013442p:plain

 

完成は、冒頭でも紹介したのですがこんな感じ。


多少慣れが必要ですがもりもり掘れました。

 

  

 

注意事項 

今回の作成でハマったことや気づいたことメモ

  • Terrainは、Contribute GI がOFFであること

DiggerとTerrainのマテリアルが違うので描画が違う可能性があります。

f:id:alpacatech:20200808082425p:plain

static変更しても違いがあったらライト焼き直し

 

  • バージョンは、Unity 2019.3 以降だと最適化されるので 2019.3以降推奨

ドキュメントに記載 https://ofux.github.io/Digger-Documentation/

2019.3以降のTerrainは、一部削ることができるのでDiggerと相性が良い

 

  • ディレクショナルライトを消しても洞窟内が真っ暗にならない

ディレクショナルライトを消しても、Skybox等の環境光が影響するので真っ暗になりません。ライティング設定でIntensity Multiplierを0にするとライトを切ると暗くなりました(ライティング環境によって調整する数値が異なる可能性あり)

今回は環境光ありでやっています。(この変更は適応していない)

f:id:alpacatech:20200810014054p:plain 

f:id:alpacatech:20200810014112p:plain

 

 

利用したアセット紹介 

穴を掘る

今回は、Digger(左の方)

マップの自動生成

Gaia2

宝箱やトーチ 

無料のものを利用させてもらいました。

 

 

炎のエフェクトが無かったので追加 ※注意↓

このアセットは、EffectExamples以外を入れると、プロジェクト設定が上書きされたりTextMesh Proが重複したりするので注意が必要

f:id:alpacatech:20200810015321p:plain

 

開発環境

OS

f:id:alpacatech:20200808081410p:plain
Unity

Version 2019.4.1f1 (e6c045e14e4e) Personal
Wed, 17 Jun 2020 20:31:52 GMT
Branch: 2019.4/release

  

 

 

 以上です。