基本的なオクルージョンが、 AkOcclusionObstructionService::SetOcclusionObstruction()
用に公開されています。Actorに対してオクルージョンを有効にするには、Blueprint Editorの Set Obstruction Occlusion Refresh Interval 関数を使います。UAkComponent用のバージョンも用意されています。リフレッシュ間隔を0に設定すると、オクルージョンは無効になります。
To determine whether a listener is occluded from a source, a simple line-of-sight check is sufficient. Use the line trace channel set in the AkComponent's properties (OcclusionCollisionChannel
). If the line of sight is blocked, the occlusion level calculation starts. This calculation maps the hit point on the obstacle to its bounding box and creates twelve points around the obstacle. Do additional line-of-sight checks to see if these secondary paths are also blocked. The occlusion sent to the SoundEngine is modulated by the number of secondary paths that are blocked.
A temporal fade method is also available for smooth transitions between occlusion levels. To change the fade speed, change the OCCLUSION_FADE_RATE
constant.
- 参照
-