Para crear el caserío y la vegetación usaremos Particle Flow de un modo muy sencillo:
Particle flow como scatter-particle-flow.jpg
Primero agrupamos los dos modelos de casas en un único grupo.
Para comenzar, creamos Particle Flow y cuando vamos a Particle View para editar comenzaremos por setear el número de casas que deseamos que surjan en los senderos, en este caso seteamos el parámetro "Birth" en 200 (200 casas) se crearán.
Luego, seteamos "Emit start" en -10 y "Emit Stop" en -9 Esto hará que cuando comience la animación o estando el slider de tiempo de max en el frame 0, las partículas ha y hayan sido completamente creadas y estén bien establecidas.
Vamos a eliminar todos los operadores que no usaremos como "Position icon" (ya qué deseamos que las casas surjan en otro lugar y no desde el ícono de PF), eliminaremos "Sped" (ya que son partículas estáticas), borraremos Shape y en su lugar incorporaremos el operador Shape Instance, y en el parámetro "Particle Geometry object" haremos click alli y nos pedirá tomar una geometría para ser copiada, elegiremos el grupo que hemos creado con las dos casas, y habilitaremos el checkbox "Group Members", esto hará que Particle Flow tome a los miembros del grupo para ser instanciados y no al grupo completo como objeto único.
La escala la dejaremos en 100% ya que el tamaño de las casas se mantendrá de base el original. Y modificaremos el parámetro "Variation%" con lo que nos dará casas que oscilan en un 30% de variación de tamaños, 15% por encima del tamaño original y 15% por debajo.
Agregaremos el operador "Position Object" para qué Particle Flow haga surgir las casa sobre objetos determinados, en este caso los senderos, para eso iremos al cuadro "Emitter Objects" y elegiremos el sendero cercano (creado según se describe en el hilo Conform en la sección Plugins).
En "Location" elegimos "Surface".
En el operador "Display" elegimos "Geometry" para qué nos muestre las casas y seteamos visible el 100%.
Eso es todo para las casas.
Para crear las casas lejanas, simplemente seleccionamos el evento de Particle Flow que acabamos de setear, presionamos Shift en el teclado y veremos qué nos habilita la posibilidad de clonar el evento. Arrastramos hacia el costado y genéramos un evento gemelo. Como este nuevo evento estará desconectado, genéramos un wire desde el evento maestro "Render" hacia este nuevo evento clonado.
Luego lo único que tenemos que hacer es ir al operador "Position Object" y cambiar el emisor picando otro sendero, el que está en las montañas atrás.
Para los árboles cercanos usaremos la misma técnica de que nazcan en senderos, para poder controlar el trazo de la plantacción.
Para esto clonaremos nuevamente otro evento y lo haremos modificaciones.
Primero vamos a eliminar el operador "Shape Instance" ya que no usaremos árboles geométricos. En su lugar incorporaremos el operador "Shape Facing" y en el parámetro "Lok at Camera/Object" elegiremos la cámara desde dónde se toma la escena. Esto hará que los árboles se presenten siempre perpendiculares a la cámara.
Para qué las partículas nazcan desde su base y no queden incrustadas en el suelo, elegiremos al opción "Pivot at:" y lo seteamos en "Bottom".
Como material debemos variar entre diferentes tipos de árboles. Iremos al editor de materiales y crearemos tres materiales de árboles con mapas de "Diffuse" y "Opacity" en los respectivos canales y englobamos estos tres materiales en un "Multi/Sub-Object".
Regresando al evento de Particle Flow incorporaremos el operador "Material Frequency" y arrastraremos el multimaterial creado y lo soltamos dentro del casillero que el operador postura para asignar material.
Luego le damos probabilidad de aparición a cada especie de árbol, en este caso 50% al primero material, 30% al segundo y 20% al tercero.
Con esto tenemos un aspecto bonito de los árboles, pero ocurre que al momento en que el sol ilumine de costado la escena, estas partículas planas no generarán sombras, y los árboles flotarán.
Para solucionar esto vamos a clonar el evento generador de árboles, esto generará otra serie de árboles exactamente en el mismo sitio que están estos actuales, y al evento le vamos a hacer unas simples modificaciones.
Primero iremos al operador "Shape Facing" y elegiremos como target al sol (en este caso un spot direct) esto hará que cada copia de los árboles esté mirando al sol y proyecte sombra. Luego reduciremos el tamaño de la partícula para qué la sombra sea menor.
Hacemos esto porque si bien tenemos la opción de crear un sol con sombra de trazado de rayos y que en base al mapa "Opacity" del material el árbol proyecte la sombra sobre el suelo, esto demanda un intenso cálculo y el render se ralentiza, y los resultados no aumentan el realismo cuando se trata de una gran escala como en este caso, más aún, las sombras tienden a verse escuálidas y los árboles siguen flotando, ya que, al no haber GI no hay umbra bajo los árboles.
Esto se soluciona doblemente si dejamos la sombra del sol como "Shadow map" la cual no respetará el mapa opacity sino que proyectará la sombra plena del cuadrado de la partícula, sólo que al ser menor que la partícula del árbol, la sombra se ajusta a lo que sería el tamaño de la copa, y, además ocluye a la luz skylight (que es otro spot más suave y celeste con sombra shadowmap).
De este modo, "paradójicamente" (explicamos antes la causa), las sombras generan un efecto más realista qué si se respetara la matemática exacta del trazado de rayos, y, además el render es mucho más rápido.
Esto nos enseña qué en la gran escala el detalle no hace al realismo sino algo llamado "efecto de masa", esto se refiere a cómo el ojo percibe a la lejanía los objetos en su incorporación al entorno, y no tanto a los objetos en sí mismos.
El otro detalle a ajustar es que las sombras no sean tan altas y en este caso se ve mejor si seteamos "Pivot at:" en "Center".
En este evento podemos siempre ajustar el tamaño de las partículas generadoras de sombra para ajustar la densidad de sombra de los bosques.
Por último, hay dos puntos importantes para estos elementos generadores de sombra, vamos a seleccionar el evento y con el botón derecho del mouse elegimos "Properties" y se abrirá el cuadro de diálogo habitual de "Properties" como para a cualquier objeto regular de max y desconectamos "Visible to camera" esto hará que no sea renderizable a la vista de la cámara, pero aún así generen sombras.
Y desconectaremos "Apply Atmospherics" para alivianar cálculos y evitar posibles errores de render.
Si hubiese en la escena objetos reflectantes o refractivos como lagos, deberíamos también desconectarlo "Visible to Reflection/Refraction" ya que la cámara no los vería, pero si los vería "en el espejo" o "a través del vidrio".
El parámetro "Receive Shadows" se torna irrelevante en cuanto la cámara no los ve, por ende no hay cálculo de proyección sobre ellos.
Para los árboles lejanos, los de la colina clonaremos otra vez el grupo de árboles. Y en este caso e "Position object" en vez de elegir los senderos elegiremos directamente la malla de la colina.
Y en el parámetro "Density By Material" elegiremos "Grayscale", esto nos permitirá manejar la densidad de árboles a medida qué las montañas se elevan.
Para esto, al material de las montañas lo anidaremos en un Multisubobjeto, y como material #2 crearemos un sencillo material Standard con un "Gradient Ramp" en "Diffuse" y este mapa servirá de control para la densidad de los árboles según la altura de las montañas.
Giraremos el mapa "Gradient Ramp" 90 grados en W para qué se ponga vertical en su gradiente y ajustaremos las flags para controlar la densidad de los árboles.
Luego con la misma técnica antes descrita, clonamos el evento completo y le hacemos las modificaciones para qué los árboles generen sombra.