エントリーの編集
エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
LayerMaskで自身と同じレイヤーを除く - テラシュールブログ
記事へのコメント0件
- 注目コメント
- 新着コメント
このエントリーにコメントしてみましょう。
注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています
- バナー広告なし
- ミュート機能あり
- ダークモード搭載
関連記事
LayerMaskで自身と同じレイヤーを除く - テラシュールブログ
結論を書くと、以下のコードでeverythingから自分と同じレイヤーのチェックを外せる。 LayerMask mask =... 結論を書くと、以下のコードでeverythingから自分と同じレイヤーのチェックを外せる。 LayerMask mask = -1 - 1 << gameObject.layer; 少し説明すると、maskはビット演算でレイヤーを管理している。 で、-1で全部にフラグが立った状態と同じ値になるので、そこから自身のフラグを倒してやれば自分以外のフラグが立っている状態の完成。 ちなみに複数ある場合はこんな感じで書く。 mask = -1 - (1 << gameObject.layer | 1 << layerNo�); 逆に、自分のフラグのみ建てたい場合はこんな感じ。 mask = 1 << gameObject.layer ; もし名前でレイヤー番号を取得したい場合、こんな感じで取得する。 int layerNo = LayerMask.NameToLayer("enemy") 地面に向け