細かいTips
個別の記事を書くほどのことでもない細かいTipsをまとめました。
1. Renderer.isVisible
カメラに映っているときはRenderer.isVisible
がtrueを返しますが、影も含まれます。
そのメッシュ自体がカメラに映っていなくても影がカメラの範囲ならtrueです。
また、シーンビューに映っていてもtrueなので注意が必要です。
2. デフォルトで用意されている空のレイヤー
デフォルトでIgnore Raycast
やWater
などのレイヤーが用意されていますが、空で入力もできないものがいくつかあります。
公式に書いてあるものは見つかりませんでしたが、フォーラムのページでは今後のための予約のレイヤーと書かれていて、納得しました。
3. 影だけ描画する
Mesh Renderer
のCast Shadows
をShadows Only
にするとメッシュの描画はせず、影だけ描画できます。
4. エディタ時及び、Developmentビルド時の切り分け
1 |
5. コンポーネントの位置替え
コンポーネントの位置を変えるのに、歯車メニューからMove Up
、Move Down
を選ぶと位置を移動できますが、上図でいうRigidbody 2D
と書かれたあたりをドラッグすると自由に移動できます。
(つい最近まで知らなかった……)
6. Git使用時の空フォルダ
空フォルダはgitにコミットされないですが、Unityだと空フォルダに対して.metaファイルが生成されます。
このことがgitで管理し、複数人で作業すると微妙に面倒なことになります。
以下のアセットが空フォルダを一覧できて、消すことができるので便利でした。
https://assetstore.unity.com/packages/tools/utilities/clean-empty-directories-24284
7. 値が割り当てられていないときの警告
メンバをpublicにしたくないので、[SerializeField]
属性つけて定義すると以下の警告が出て煩わしいです。
Field 'xxxx' is never assigned to, and will always have its default value 'yyyyy'
Assets直下にcsc.rsp
ファイルを作り、以下を記述すればこの警告を除外できます。-nowarn:0649
8. C#のAttribute
一行でも書けます。
1 | [float velocity; ] |
カンマ区切りで複数指定可能。
1 | [ ] |
9. Visual StudioのRegion
Regionは自動的に閉じられているのですが、他人のコード読んでいるとき閉じられていると見逃すことがあり、個人的にはあまり好きではありません。
以下の拡張で自動的に開くようにしています。
https://marketplace.visualstudio.com/items?itemName=DavidPerfors.RegionExpander&ssr=false
10. C#のテンプレート
Projectビューで右クリックしてCreate > C# Script
したときのC#のテンプレートを変更できます。
Assets直下にScriptTemplates
フォルダを作り、中に81-C# Script-NewBehaviourScript.cs.txt
を作成します。
以下のように中身は自由に変更し、Unityを一度再起動すれば適用されます。
1 | using System.Collections; |
確認バージョン
Unity 2018.4.17f1