Notas
Logs de desarrollo, experimentos y notas sueltas, en orden cronológico.
Web, documentación y laboratorio
Una web bilingüe con la documentación, una demo en vivo y un laboratorio que da el código listo para pegar.
La librería, pública
Repositorio público con licencia MIT, documentación en inglés y español, y un modelo de pruebas propio.
Tocar al pasar
El personaje apoya la mano en columnas, paredes y barandas al pasar, y la desliza mientras camina.
Hueso por hueso: pelvis y pecho
Un inventario de cuánto gira cada hueso frente a personas reales, y la basculación de la pelvis.
Paradas y vueltas como una persona
Un solo paso de cierre al llegar, y vueltas de 2–3 pasos cuando el destino queda detrás.
La marcha, medida contra personas reales
Comparé la marcha con capturas de movimiento de CMU y la ajusté curva a curva.
Del árbol de Blender a la demo
Un formato de GLB para el árbol, un conversor desde Sapling Tree Gen y un validador.
Hojas que caen y vuelven a crecer
La demo publicada: sacudir el árbol, ver caer las hojas y verlas crecer otra vez.
Una demo para probar las rocas
La demo publicada, con un panel para que cualquiera cambie cómo caen y orbitan las rocas.
Golpes, órbitas y el puntero
La roca reacciona a cada golpe, unas rocas pequeñas quedan orbitando y el puntero puede mover las rocas.
Rocas que caen y se pegan
La roca en un estudio oscuro con WebGPU, y los primeros fragmentos que caen sobre ella y se quedan pegados.
Ajustes en dos niveles y caminar en el sitio
Once controles de alto nivel sobre los parámetros, y un modo para caminar en el sitio mientras se ajusta.
Una librería de movimiento procedural humano
Primera versión de la librería: camina, corre, se agacha, salta y va a un punto, sin animaciones grabadas.
Primer prototipo: piernas con IK
El punto de partida: piernas resueltas con IK de dos huesos y pies que se quedan apoyados.
Primera prueba con Gaussian Splatting + Three.js.
Un dinosaurio tejido, reconstruido con COLMAP y gsplat, con una luz interna y una deformación que late con ella.
Investigación de Gaussian Splatting para visualización 3D web
Zona de carga configurable
La zona de carga se arma con assets que se arrastran hasta la camioneta.
Zona de carga y descarga
Una zona donde la camioneta puede cargar los objetos de una tarima.
Nuevo collider para la camioneta
Un convex hull para la parte delantera y cuatro cuboids para la caja trasera.
Colliders más precisos para los assets
Ajusté los colliders de varios assets para que sigan mejor la forma de los objetos.
Modo edición rehecho, con gizmos nuevos
Rehice varias partes del modo edición y sumé gizmos nuevos para mover y rotar.
Guardar la configuración de los assets
Los assets colocados ahora se guardan en el navegador.
Assets nuevos: señales, neumáticos, barreras y reductores
Nuevos assets para el circuito y una vista alejada para colocarlos.
Bug del spawn resuelto
Después de un buen rato, el bug en la aparición de la camioneta quedó resuelto.
Edición para distintos assets
El panel admite distintos assets, la cámara se arrastra y los objetos colocados se pueden mover y rotar.
Panel de edición
Un panel para colocar conos y editar el suelo y los límites.
Los primeros objetos: conos
Los conos son el primer asset del circuito de pruebas.
Suelo con grilla y límites
El material del suelo suma la grilla con presets y un shader que marca los límites del área de manejo.
Dirección ajustada: lo básico está listo
Con el steering ajustado, el manejo básico está listo.
Ambient occlusion desde Blender
Exporté el ambient occlusion desde Blender y el resultado me gusta más.
Frenos traseros
Frenos que aplican fuerza distinta según la dirección y frenado suave al soltar el acelerador.
Sistema de luces
Frontales, freno, balizas y reversa funcionando.
Materiales y suspensión con Rapier
De vuelta en Three.js: los materiales del modelo y una suspensión estable.
Retopología: de 80.000 a 22.000 vértices
Rehice la geometría del modelo para que sea más liviana en el navegador.
Primera prueba en Three.js
El modelo del Rastrojero, ya dentro de Three.js.
Rastrojero 1971 en Blender
El modelo terminado, por ahora: un Rastrojero 1971 hecho en Blender.
Caja, ruedas y color
Tercer avance en Blender: la camioneta suma la caja de madera, las ruedas y el color celeste.
La cabina toma forma
Segundo avance en Blender: la cabina suma materiales, parrilla, faros y paragolpes.
Modelando el Rastrojero en Blender
Con la física andando, empecé a modelar la camioneta: primero la carrocería de la cabina.
Primeros pasos: del cubo al chasis con ruedas
El punto de partida del Rastrojero: probar las físicas con Rapier antes de tener el modelo.