Puedo envolver mi cabeza usando una función de ruido 2D Perlin para generar el valor de altura, pero no entiendo por qué se usaría una función de ruido 3D Perlin. En Notch's blog, mencionó el uso de una función de ruido 3D Perlin para la generación de terreno en Minecraft. ¿Alguien sabe cómo se haría eso y por qué sería útil? Si está pasando x
, y
, y z
valores, ¿no significa que ya tiene la altura?¿Cómo se usa una función de ruido 3D perlin para generar terreno?
Respuesta
Bueno, Minecraft es sobre Minas. Entonces, lo que Notch intentó resolver fue: "¿Cómo puedo obtener agujeros/voladizos en mi mundo?"
Dado que el ruido perlin 2D genera colinas agradables/lisas, el ruido perlin 3D generará colinas agradables/lisas y agradables agujeros en su cuadrícula 3D voxel.
Se puede encontrar una implementación here (mientras que es una solución N-dimensional).
En otros casos de uso, la componente Z de un ruido 3D perlin se establece en la hora actual. De esta forma obtendrás una transición suave entre los diferentes ruidos 2d perlin y que se puede usar como base para texturas fluidas.
El artículo dice exactamente por qué se utiliza el ruido 3D:
utilicé un ruido de alturas 2D Perlin ... ... pero la desventaja de ser bastante aburrida . Específicamente, no hay forma de que este método genere voladizos.
Así que cambié el sistema a un sistema similar basado en 3D Perlin ruido. En lugar de muestrear la "altura de altura", traté el valor de ruido como la "densidad", donde cualquier valor menor que 0 sería aire, y cualquier mayor o igual a 0 sería tierra.
¡Hater tiene que odiar! – Brian
- 1. Función de gradiente de ruido Perlin
- 2. ¿Ruido de Perlin para el movimiento?
- 3. Algoritmo de ruido Perlin
- 4. Per-Vertex ¿Normals del ruido perlin?
- 5. ¿Usar ruido Perlin para crear un rayo?
- 6. ¿Cómo se implementa el ruido Perlin en flash?
- 7. Cómo modificar el ruido Perlin [ver ejemplo en el hilo]
- 8. ¿Cómo llene una matriz 2D con ruido Perlin?
- 9. Distribución uniforme a partir de una función fractal de ruido Perlin en C#
- 10. ¿Cómo se hace un punto para apuntar "perno" de un rayo usando ruido perlin u otro algoritmo?
- 11. Generando ruido 3D rápidamente en python
- 12. Perlin Noise en Java
- 13. Perlin nivel de detalle de ruido. ¿Cómo hacer zoom en un paisaje?
- 14. ¿Alguien tiene buenos recursos en 3D generación procesal del terreno o la generación de terreno fractal?
- 15. Cómo forzar Terreno utilizar el ImageSize specificed en 3D cuando se utiliza el ratón para girar una imagen
- 16. JavaScript ruido
- 17. ¿Cómo se usa math.random para generar enteros aleatorios?
- 18. Realista 2D generación de mapas de terreno
- 19. Envolviendo 2D perlin noise
- 20. 2D Perlin Noise
- 21. Perlin Noise for 1D?
- 22. Generación de terreno sobre la marcha basada en un terreno existente
- 23. ¿Cómo se usa Rundll32 para ejecutar la función DLL?
- 24. ¿Qué bibliotecas de física y terreno 3D basadas en XNA existen?
- 25. Generar un CAPTCHA de 3D [pic]
- 26. Alisar ruido de perlas de baja octava
- 27. ¿Cómo se usa preg_match para buscar espacios?
- 28. ¿Puede RStudio generar automáticamente una plantilla roxygen para una función?
- 29. Usando OpenCV para generar puntos 3D (suponiendo configuración paralela frontal)
- 30. ¿Cómo se usa PHPUnit para probar una función si se supone que esa función matará a PHP?
El enlace está roto, archive.org afortunadamente tiene una instantánea de 2008: http://web.archive.org/web/20081118194515/http://peter.grumpykitty.biz/perlin.html – Tyron
@Tyron ¡Gracias! Se lo agregó al texto de respuesta – jpaugh