この文書の現在のバージョンと選択したバージョンの差分を表示します。
両方とも前のリビジョン 前のリビジョン | |||
wiki:unity:tips:075 [2015/01/06 14:16] step |
— (現在) | ||
---|---|---|---|
ライン 1: | ライン 1: | ||
- | ====== 075 カメラの範囲外判定について ====== | ||
- | |||
- | ==== 指定の座標がカメラの範囲内に収まっているか? ==== | ||
- | <code csharp> | ||
- | bool CheckScreenOut( Vector3 _pos ) | ||
- | { | ||
- | Vector3 view_pos = Camera.main.WorldToViewportPoint( _pos ); | ||
- | if( view_pos.x < -0.0f || | ||
- | view_pos.x > 1.0f || | ||
- | view_pos.y < -0.0f || | ||
- | view_pos.y > 1.0f ) | ||
- | { | ||
- | // 範囲外 | ||
- | return true; | ||
- | } | ||
- | // 範囲内 | ||
- | return false; | ||
- | } | ||
- | </code> | ||
- | |||
- | ==== MonoBehaviourを継承している場合 ==== | ||
- | <code csharp> | ||
- | // 写っている | ||
- | void OnBecameVisible() | ||
- | { | ||
- | Debug.Log("OnBecameVisible"); | ||
- | } | ||
- | |||
- | // 写っていない | ||
- | void OnBecameInvisible() | ||
- | { | ||
- | Debug.Log("OnBecameInvisible"); | ||
- | } | ||
- | </code> | ||
- | こちらはレンダラ-が有効になっている場合に使える。 | ||