Unity」カテゴリーアーカイブ

ゲームエンジン「Unity」に関するカテゴリーです。

シェーダーを書くときのfloat/half/fixedの使い分け

シェーダーを書くときのfloathalffixedの使い分けについて

float

通常のプログラミング言語のfloatと同じ32ビット

  • ワールド空間の位置
  • テクスチャ座標

half

一般に16ビット

  • ベクトル
  • オブジェクト空間位置
  • HDRカラー

fixed

一般的に11ビット

  • テクスチャデータ

十分な精度になっているかどうかの検証は実機上で試してみる方が良いそうです。

リンク

シェーダーを書く場合のパフォーマンスのヒント – Unity マニュアル
https://docs.unity3d.com/ja/current/Manual/SL-ShaderPerformance.html

シェーダーのデータタイプと精度 – Unity マニュアル
https://docs.unity3d.com/ja/current/Manual/SL-DataTypesAndPrecision.html

UnityのSceneビューでUIを非表示にする手順

右上の「Layers」というドロップダウンメニューからUIの項目を外せば、SceneビューでUIを非表示にできるみたいです。*1

layermask-ui

※非表示にしたいUIのLayerが「UI」以外になっている場合は適宜変更してください。

リンク

Layermask for scene camera? – Unity Answers
https://answers.unity.com/questions/753591/layermask-for-scene-camera.html


*1 Scene cameraのLayermaskを設定しているそうです。

Too many texture interpolators would be used for ForwardBase pass

Unityのシェーダーで

Shader error in '':
Too many texture interpolators would be used for ForwardBase pass (11 out of max 10) at line xx

のようなエラーが出る場合は

#pragma target 4.0

を追加すると動くようになることがあるみたいです。

リンク

Terrain Transparency – Too many text interpolators – Unity Answers
https://answers.unity.com/questions/1077032/terrain-transparency-too-many-text-interpolators.html