Home

Awesome

ComputeShaderBVHMeshHit

Unity ComputeShader implementation of BVH(Bounding Volume Hierarchy) based mesh hit checking.

meshhit bvh

Installation

Add the following address to UnitPackageManager.

https://github.com/fuqunaga/ComputeShaderBVHMeshHit.git?path=/Packages/ComputeShaderBVHMeshHit

How to use

Create BVH Asset

BuilderWindow

  1. Window > BvhBuilder
  2. Set meshObjectRoot object.
  3. Build to create BvhAsset.

C#

  1. Put BvhHelperBehaviour to the Hierarchy.
  2. Set BvhAsset.
  3. Call BvhHelperBehaviour.SetBuffersToComputeShader().

ComputeShader

  1. Add the following include statement to your ComputeShader.
    #include "Packages/ga.fuquna.computeshaderbvhmeshhit/Bvh.hlsl"
  2. Call TraverseBvh() to detect a mesh hit.

References