Portafolio 3D

Starter pack

Hemos aprendido mucho hasta ahora, y ahora es el momento de juntar todo. En esta lecci贸n, 隆crearemos un portafolio atractivo y responsivo!

No te preocupes, tambi茅n aprenderemos cosas nuevas a lo largo del camino 馃槉

Lo que construiremos

Versi贸n de escritorio:

Versi贸n m贸vil:

No te limites a construir exactamente lo mismo. Si茅ntete libre de a帽adir tu propio toque.

隆Espero que est茅s emocionado! 隆Empecemos! 馃殌

Paquete inicial

Para concentrarnos en lo esencial, el paquete inicial para este proyecto final contiene todos los modelos 3D, animaciones, fuentes y texturas que utilizaremos. (Excepto por el avatar, llegaremos a eso en un momento)

Los componentes React para cada modelo han sido generados con gltfjsx.

Solo agregu茅 una l铆nea en el comentario para acreditar al autor y hacer un seguimiento del origen de cada modelo:

/*
Auto-generated by: https://github.com/pmndrs/gltfjsx
Command: npx [email protected] public/models/Balloon.glb -o src/components/Balloon.jsx -r public
Balloon by Poly by Google [CC-BY] (https://creativecommons.org/licenses/by/3.0/) via Poly Pizza (https://poly.pizza/m/d1gDDhM7pTf)
*/

Por el momento, esto es lo que parece el paquete inicial cuando ejecutamos la aplicaci贸n:

Starter pack

Un cubo blanco y un fondo gris muy claro.

隆No perdamos m谩s tiempo y comencemos a construir nuestro portafolio!

Avatar 3D

Ready Player Me

Usaremos Ready Player Me para crear nuestro avatar. Es un servicio gratuito que permite a los desarrolladores a帽adir avatares a sus aplicaciones.

Ve a Ready Player Me, crea una cuenta o inicia sesi贸n si ya tienes una, y crea tu avatar.

Puedes usar una foto como referencia o crear un nuevo avatar desde cero.

Ready Player Me avatar creation

El editor ofrece una amplia gama de opciones para que tu avatar se parezca a ti.

Una vez que est茅s satisfecho con tu avatar, haz clic en el bot贸n Enter Hub en la esquina superior derecha.

En el Hub, haz clic en el icono de descarga a la izquierda del bot贸n Customize look.

Ready Player Me avatar download

Y haz clic en Download Avatar as .glb file.

Deber铆as tener un archivo cuyo nombre comience con el id de tu avatar y termine con .glb.

Por ejemplo, el m铆o es 646d9dcdc8a5f5bddbfac913.glb

Copia este archivo en la carpeta public/models de tu proyecto.

Luego ejecuta el siguiente comando en tu terminal:

npx gltfjsx public/models/646d9dcdc8a5f5bddbfac913.glb -o src/components/Avatar.jsx -k -r public

Reemplaza 646d9dcdc8a5f5bddbfac913.glb con el nombre de tu archivo de avatar.

Un recordatorio r谩pido de los par谩metros que usamos:

  • -o para especificar el archivo de salida
  • -k para mantener los nombres de los nodos
  • -r para especificar la ruta ra铆z para el modelo

En el archivo src/components/Avatar.jsx, renombra el componente a Avatar:

// ...

export function Avatar(props) {
  // ...
}

Ahora podemos reemplazar el componente Cube en src/Experience.jsx con nuestro componente Avatar:

import { Environment } from "@react-three/drei";
import { Avatar } from "./Avatar";

export const Experience = () => {
  return (
    <>
      <Environment preset="sunset" />
      <Avatar />
    </>
  );
};

Avatar

隆Ahora deber铆as ver tu elegante avatar en el centro de la escena!

Algunos estudiantes reportaron problemas con el archivo generado por el CLI local de gltfjsx. Si tienes alg煤n problema al intentar mostrar el Avatar, puedes usar la versi贸n en l铆nea para generar el componente Avatar.jsx.

Aseg煤rate de renombrar el nombre del componente y de que la ruta del modelo sea correcta. Debes a帽adir /models/ antes del nombre del modelo en el hook useGLTF y la funci贸n de pre-carga al final del archivo.

Para mi avatar, ser铆a:

// ...
export function Avatar(props) {
const { nodes, materials } = useGLTF("/models/646d9dcdc8a5f5bddbfac913.glb");
// ...

y al final del archivo:

// ...
useGLTF.preload("/models/646d9dcdc8a5f5bddbfac913.glb");

Animaci贸n de Mixamo

Usaremos Mixamo para a帽adir animaciones a nuestro avatar. Gracias a Ready Player Me, ya tenemos un avatar con rig, as铆 que el proceso ser谩 muy sencillo.

Ve a Mixamo, crea una cuenta o inicia sesi贸n si ya tienes una, y dir铆gete a animations.

Deber铆as ver animations a la izquierda, y una preview zone a la derecha.

Mixamo animations

Haz clic en el bot贸n Upload Character, se abrir谩 una ventana modal pero solo acepta archivos .fbx, .obj y .zip. Necesitamos convertir nuestro archivo .glb a .fbx.

Ya he proporcionado una versi贸n .fbx de mi avatar en la carpeta public/models del paquete de inicio llamado avatar.fbx. Si deseas usarlo, puedes omitir el siguiente paso.

End of lesson preview

To get access to the entire lesson, you need to purchase the course.