sound sepher's PASTIME

ゲーム開発で思ったことや、趣味などの話を書き綴っていきます。

【Unity】使いそうな知識とノウハウメモ

 Lighting関係

Skyboxの作り方

地平線が中心に来るように一枚の高解像度画像を使ってテクスチャを作る。
それを Cubemap に登録、Skybox 作成、アタッチ、LightingでSkybox登録。

スカイボックスはドーム状に作られるので、上部がギューッと圧縮される。
画像の左右はループできるように作れば繋がるので、これを守れば自作可。

bibinbaleo.hatenablog.com

Skyboxをスクリプトで回転させる

qiita.com

プロのライティングを学ぶ

LightProbe、AreaLightの使い方、Lightingパラメータ周り。

uuupa.hatenablog.com

Terrain関係

ブラシを使って高さの上下、テクスチャを塗ったり、テクスチャはマテリアル毎に設定できる機能。
木や草を配置できて、風の設定すると草が揺れてくれる模様(木も拡張すれば揺れる)

ただし仕上げの後にサイズを変えたい際に木が最適化されないなどの問題がある様子。
最初からサイズを決め打ちして作る必要が?

Terrainの解説

xr-hub.com

Terrainのtree重すぎ問題を GPU Instancing で解決

qiita.com

Terrainチューリアル(英語)

www.youtube.com

Terrain Tools Sample Asset Pack

assetstore.unity.com

Shader関係

Amplify Shader Editor

SRP、URP、HDRP以前の built-in shader では Shader Graph が使えないためこれを使う

styly.cc

Shadero Sprite

2Dスプライトにエフェクトを加えるシェーダーを作るツール。

baba-s.hatenablog.com

ProBuilder

プロトタイピングにサクッとマップを作るときに推奨されるようだが、
ローポリ系のオブジェクトでマップを作るときはこれだけで行けそう。

マテリアルは何個も登録して貼り付けていく形の作り方。
これと Polyblush を組み合わせるととてもよいよ、という宣伝文句。

gametukurikata.com

Polyblush

既存のメッシュをスカルプトで変形できたり、色やテクスチャをブラシで塗れる。
Terrein のように個性的なブラシが使えるわけではないようなこと、
マテリアル設定もできるがシェーダーを自力で書かないとならないのが厳しいか。

とりあえず Probuilder でモデリングして、Polyblush でスカルプトする、
といった簡単な機能が Unity 単体で使えるという意味ではよさそうだけど、
検索してる限り、あまり使ってる人がいない気がする。これから?

cz-mirror.hatenablog.com

ノウハウ

1unit = 1m

Unityのグリッドは 1unit と呼ぶが、それは 1m に対応する。
ライティング関係は、これを基準に計算するらしいので、覚えておくとよいかも。

Debug.Logは重い

どうもビルド環境でも内部では動作するらしいので、プリプロセッサのUNITY_EDITORで囲っておく必要がありそう。
おそらくデバッグログを表示するメソッドを用意して、そこにテキストを流し込む形がよいかも?

もしくは、デバッグログ表示用のフラグを作るとか。

uGUIは動かすことを想定していない

特に Animator で動かすのはよくないらしい、相当重いとのこと。
Tween がオススメらしいが、とりあえず uGUI を動かすと GC が働くらしいのでそこを意識しておいたほうがよさげ。

文字列を作るときは StringBuilder が早い

ふつうに「+=」で追加したり、「"文字列" + 変数」系は処理が重いらしい。

qiita.com

docs.microsoft.com