private void OnDestroy()
    {
        // Release the singleton
        Instance = null;

        // It is required to manualy destroy compute buffers.
        bodyDataBuffer.Release();
        vertexDataBuffer.Release();
        triangleDataBuffer.Release();
        meshDataBuffer.Release();
        if (rayDataBuffer != null)
        {
            rayDataBuffer.Release();
        }
    }
    private void Awake()
    {
        Debug.Assert(Instance == null, "Scene can only contain one executer.");

        Instance = this;
    }