Manual/ Ejemplos

Terreno procedural con colisión

Script completo listo para copiar.

local Terreno = { properties = { tamano = 60.0, altura = 4.0 } }

function Terreno:Start()
    self.malla = Mesh.plane(self.tamano, self.tamano, 80, 80)
    local v = self.malla.vertices
    for i = 1, #v do
        local p = v[i]
        p.y = (math.sin(p.x * 0.15) + math.cos(p.z * 0.12)) * self.altura * 0.5
        v[i] = p
    end
    self.malla.vertices = v            -- sube la malla
    self.malla:recalculateNormals()
    self.malla:recalculateTangents()
    self.malla:setMaterial(0, { color = Vec3(0.35, 0.6, 0.25), roughness = 0.9 })
    self.entity.mesh = self.malla
    self.entity:addComponent("MeshCollider")   -- los Rigidbody chocan con ella
end

return Terreno

¿Algo no queda claro o falta algo? Pregunta en el Discord.