본문 바로가기
Programming/Unity

[Unity3D] NVIDA Flex Error - ArgumentException: ComputeBuffer.SetData()

by 타임박스 2020. 11. 6.
반응형


✔ NVIDIA FLEX Error 

ArgumentException: ComputeBuffer.SetData()



NVIDIA FLEX을 활용하여 유체역학을 적용하려고 시도했지만 생각보다 쉽지 않았다.

 

프로젝트를 실행하고 IsActive를 On/Off를 반복적으로 실행하면 아래와 같은 오류가 나타난다.

ArgumentException: ComputeBuffer.SetData() : Accessing 35100 bytes at offset 0 for Compute Buffer of size 35000 bytes is not possible.

이 오류의 해결방법은 __auxFlexDrawFluid.cs 파일의 245번 줄에 해당하는 내용을 수정해야한다.

if (m_indexBuffer != null)
{
    m_indexBuffer.SetData(indices);
}

위 내용을 아래로 변경..

if (m_indexBuffer != null)
{
    m_indexBuffer.SetData(indices, 0, 0, m_indexBuffer.count);
}

반복 실행을 해도 오류가 나타나지 않는다.

 

NVIDIA에서 제공되는 FLEX의 간략한 튜토리얼은 있지만 코드를 수정하여 사용하기는 매우 까다롭다.

현재 beta1.0에서 빨리 버전업그레이드가 되었으면 좋겠다.

반응형

댓글