Я нахожусь в процессе разработки Minecraft-подобного мира, где ландшафт делится на воксели. Однако я также хотел бы, чтобы нестабильные конфигурации ландшафтов предсказуемо разрушались. Например, слишком тяжелый выступ может сломаться и сломаться при вокселях с «высоким напряжением» , как и при образовании колонны с асимметрично эродированным основанием . Я думал о добавлении поля «вектор напряжения» к каждому вокселю на местности и делал следующее (псевдокод):
foreach voxel in terrain
foreach neighbor in voxel.neighbor_voxels()
if magnitude(voxel.stress - neighbor.stress) > stressThreshold
detach_voxels(voxel, neighbor)
Но проблема в том, что я не знаю, как бы я рассчитал эти индивидуальные напряжения. Существует ли какой-нибудь алгоритм на основе FEA, специализированный для дискретизации вокселей, который я могу использовать для расчета напряжений на основе вокселей? Или я все это неправильно подхожу, и есть другой способ сделать это?
источник