テラシュールブログ

旧テラシュールウェアブログUnity記事。主にUnityのTipsやAR・VR、ニコニコ動画についてのメモを残します。

【Unity】星空を作ってみんとす

ふと重いて星空を作ってみんとす

http://cdn-ak.f.st-hatena.com/images/fotolife/t/tsubaki_t1/20160303/20160303005828.gif

機能試しに作ってみた星空です本当にありがとうございました。

作り方

今回使うパーティクルのモジュールはこんな感じです。

f:id:tsubaki_t1:20160303025527j:plain

  • Emission:生成個数とかタイミングについて
  • Shape:パーティクルの生成位置とか
  • Renderer:パーティクルの描画設定

さて、作っていきます。

空を暗くする

とりあえず空を暗くします。
暗くする方法は2種類、DirectionalLightを回すか、LightmapのSkyboxを黒くするかの2択です。

tsubakit1.hateblo.jp

なおDirectional Lightを回転して暗くした場合、床から光が貫通してくる事があります。その場合はRendererのCast ShadowをTwo Sidedに設定すればOKです。

f:id:tsubaki_t1:20160303030308j:plain

f:id:tsubaki_t1:20160303030318j:plain

もしシーンビューがSkyboxの色にならない場合、下画像のSkyboxのチェックが外れてる感じだと思います。

f:id:tsubaki_t1:20160303025930j:plain

星空を作るためにパーティクルを作る

次にパーティクルで星空を作ります。

まずはHierarchyビューのCreate>Particle Systemでパーティクルシステムを生成します。座標はx:0, y:0, z:0といった感じ。回転はそのままで。

f:id:tsubaki_t1:20160303030720j:plain

f:id:tsubaki_t1:20160303030835j:plain

f:id:tsubaki_t1:20160303031134j:plain

パーティクルが半球ドーム状に作られるようにする

次にShape(パーティクルの生成される位置)を調整します。

先ほど作ったパーティクルのShapeのShapeをHemisphere(半球)へ変更し、Emit from shellにチェックを入れます。
後はRadiusで半径を広げれば、100m先くらいにパーティクルが生成されます。

f:id:tsubaki_t1:20160303031104j:plain

f:id:tsubaki_t1:20160303032218j:plain

ちなみにEmit from shellの設定は、半球の表面にパーティクルを出すかの設定です。

チェックが無い場合は内部にパーティクルが出ます。
チェックを入れるとプライマルアーマーとかGNフィールドみたいな粒子バリア感が出せたりします。まぁ、実際やるならパーティクルとか使わず半透明使うと思いますが。

f:id:tsubaki_t1:20160303031838g:plain

星空の星の数を決める

最後に星の数についてです。
パーティクルの表示数は、Lifetime(生存時間)とEmissionの個数で設定します。ただしMax Particlesを超える数は出せません。
たくさんの星を出したい場合、生存時間と同時に出す個数を増やします。
少ししか出さない場合、生存時間か生成個数を減らします。

f:id:tsubaki_t1:20160303032644j:plain

ランダムで設定したい場合、右の▼をクリックしてRandom Between Two Constantsを選択すれば、範囲内のランダム値に設定出来ます。Random Between Two Curvesでカーブエディタも使えるので、人によってはそっちの方が良いかもしれません(偶に大きな星がある的な感じで)

f:id:tsubaki_t1:20160303032942j:plain

これで大体、トップのgifみたいなのが作れます。いとおかし。

f:id:tsubaki_t1:20160303033802j:plain

関連

tsubakit1.hateblo.jp

tsubakit1.hateblo.jp

tsubakit1.hateblo.jp