지형이 복셀로 나뉘어있는 Minecraft와 같은 세계를 개발하는 과정에 있습니다. 그러나 불안정한 지형 구성이 예상대로 붕괴되고 싶습니다. 예를 들어, 너무 무거운 오버행 은 비대칭으로 침식 된 기저를 가진 기둥 형성과 마찬가지로 '고 응력'복셀에서 파단되고 파단됩니다 . 지형의 각 복셀에 '스트레스 벡터'필드를 추가하고 다음 (의사 코드)을 수행하려고 생각했습니다.
foreach voxel in terrain
foreach neighbor in voxel.neighbor_voxels()
if magnitude(voxel.stress - neighbor.stress) > stressThreshold
detach_voxels(voxel, neighbor)
그러나 문제는 이러한 개별 스트레스를 계산하는 방법을 모른다는 것입니다. 복셀 단위로 스트레스를 계산하는 데 사용할 수있는 복셀 이산화에 특화된 일종의 FEA 기반 알고리즘이 있습니까? 아니면 내가 잘못 접근하고 있고 다른 방법이 있습니까?