Estoy muy entusiasmado con la sensación de la informática: una idea en la que las cosas inteligentes detectan el entorno, se conectan y luego se convierten en una extensión del usuario. Como evangelista de Intel Software (y un autodidacta programador aficionado), tengo la suerte de experimentar con estas posibilidades utilizando la tecnología de vanguardia de Intel. Anteriormente, había escrito sobre el escaneo 3D del mundo a tu alrededor en tiempo real y cómo colocar un objeto virtual en él; Sin embargo, en este tutorial, me gustaría explicar cómo hacer lo contrario, escaneando en 3D usted mismo y luego agregando ese escaneo al mundo virtual..
Más específicamente, nosotros:
Terminaremos con una malla tridimensional de tu cabeza, lista para usar en Unity. (En el siguiente tutorial, veremos cómo convertir esto en Unity y en qué podrías usarlo en un juego).
Necesitará:
Después de instalar el SDK, vaya a la Barra de accesos (en Windows 8) o al Menú de Inicio (en Windows 7 o 10) y busque RealSense SDK Sample Browser
. Encuéntrelo en la lista, haga clic derecho y seleccione Ejecutar como administrador.
En el Navegador de muestra encontrará una sección llamada Muestras comunes. Estas son muestras que funcionarán tanto en la cámara RealSense frontal como en la posterior. Encuentra la muestra llamada Escaneo 3D (C ++).
Documentos
carpeta como 3Dscan.obj
.El formato OBJ es el formato predeterminado que obtiene del escaneo. Para usarlo en Blender (y luego en Unity), lo convertiremos a formato PLY usando una herramienta gratuita llamada MeshLab. Entonces, descargue, instale y ejecute MeshLab, si aún no lo ha hecho.
Desde el Expediente menú, seleccione Importar. Encuentra el 3Dscan.obj
archivo que creaste en la sección anterior.
Después de que hayas importado tu objeto, puede estar en su lado. Puede hacer clic con el botón izquierdo en la parte inferior del objeto y arrastrar hacia arriba para rotar el objeto y examinarlo.
Deberías ver la malla texturizada con color. La información de color se almacena como colores de vértice, lo que significa que cada vértice está coloreado con los píxeles obtenidos de la cámara RGB cuando escanea su cabeza.
Hacer clic Archivo> Exportar malla como. En el cuadro de diálogo que aparece, seleccione Formato de archivo Stanford Polygon (* .ply) desde el Los archivos de tipo desplegable:
Guarda el PLY resultante en algún lugar donde puedas encontrarlo más tarde..
La idea aquí es importar el archivo 3D a Blender, hacer una copia del mismo, limpiar la copia y mapear los colores de los vértices como un mapa UV para la nueva versión duplicada.
Descarga, instala y ejecuta Blender, si aún no lo has hecho.
Crea un nuevo proyecto en Blender, selecciona Importar> Stanford (.ply), luego seleccione el archivo PLY que acaba de exportar desde MeshLab:
Después de importarlo, verás que las texturas no son visibles:
Sin embargo, si cambias a Textura En esta vista, verá que los colores RGB del escaneo ahora se asignan al modo Textura:
Use este menú para cambiar a Textura ver.Para ver los colores correctamente, vuelva a cambiar el modo de visualización, esta vez, para Material. En el panel de la derecha, seleccione Materiales icono, y luego crear un nuevo material.
En el editor de paneles, establecer Sombreado a Sin sombra, y en el Opciones, encender Pintura de color vértice. Esto establece con éxito los colores de vértice para el material del objeto.
Ahora, esto no es todavía una malla viable para nosotros. Está lleno de agujeros, es áspero, y el conteo de poli es mucho más alto de lo que nos gustaría que fuera, si lo vamos a usar en un juego.
Necesitamos crear una versión de esta malla que podamos limpiar, pero mapear esta textura de color de vértice como un mapa UV. Esa versión es la versión que traeremos a Unity..
Seleccionar Objeto> Objetos duplicados y golpear Entrar. No muevas el mouse.
A continuación, seleccione Objeto> Mover a Capa, y luego seleccione el cuadrado a la derecha de la capa actual (el segundo cuadrado de la izquierda en la fila superior).
Ve a la Buscador de activos y renombra tus mallas. Nombra uno Malla original
y el otro Segunda malla
. Esto te ayudará a distinguirlos..
Seleccione la segunda malla, seleccione la capa relevante y cambie el modo de vista Material a Sólido.
Luego, en el panel de la derecha, haga clic en el icono que parece una llave para agregar un modificador. Vamos a reducir el recuento de poli de esta malla y limpiarlo..
Seleccionar Herramientas> Remesh. En este diálogo, configure el Oct tree a entre 7
y 8
. Conjunto Modo a Suave, y enciende Sombreado suave. Esto hará que pierdas la asignación de material:
Hacer clic Aplicar. Ahora tiene una malla más limpia a la que puede aplicar el vértice y el mapa UV.
Entrar en Editar Modo en esta segunda malla. Hacer clic Seleccionar> Seleccionar todo.
Crea una nueva ventana y configúralo en UV / Editor de imágenes Modo para ver el mapa UV.
En el 3D ventana, seleccione Malla> UV Unwrap> Smart UV Project.
En el Mapa UV ventana, seleccione Nuevo Para crear una textura. Apagar Alfa. Nombra a la textura el nombre que te gustaría darle a tu modelo final.
Cambiar a Objeto modo. Verás un modelo negro y un mapa UV negro. Esta bien!
Ahora selecciona ambas capas por Cambio-Haciéndolos clic para hacerlos visibles..
Seleccione ambas capas ... ... y su panel de vista se verá así.En el Buscador de activos, Seleccione la malla original. Haga clic en el icono de la cámara..
En el Hornear sección, enciende Seleccionado para Activo. Asegúrate de eso Hornear a color vértice esta apagado.
En el Escena seccion, set Manejo del color a Ninguna.
En el Activo En el menú, seleccione la malla original. Entonces, mantenga presionada Cambio y seleccione la segunda malla. (Debe hacerlo en ese orden.) Asegúrese de que ambas capas sean visibles con el ojo y los íconos de la cámara..
Haga clic en el icono de la cámara. En el Hornear sección, haga clic en Hornear.
Ahora deberías tener una textura mapeada. Para ver esto, desactive la primera capa, de modo que solo vea la capa con la segunda malla. Selecciona el Textura Ver y verás tu malla texturizada con tu mapa UV..
Notará algo de extravagancia donde la imagen rellena las áreas faltantes de su malla:
Puedes cambiar a Pintura de textura modo de limpiar esos. También puedes cambiar a Esculpir modo para rellenar las áreas que faltan, así como para limpiar o agregar características a su malla.
Una vez que haya limpiado su malla, puede prepararse para exportarla:
Tu modelo esta completo!
Ha escaneado en su cabeza, reducido el policuenta, limpiado el modelo y exportado como un modelo 3D listo para usar en otras aplicaciones. En un futuro tutorial, importaremos esta malla 3D a Unity y veremos cómo podría usarse en los juegos..
El programa Intel® Software Innovator es compatible con desarrolladores innovadores independientes que muestran la capacidad de crear y demostrar proyectos de futuro. Los innovadores aprovechan las oportunidades de ponencia y demostración en eventos de la industria y reuniones de desarrolladores.
Zona de desarrolladores Intel® ofrece herramientas e información práctica para el desarrollo de aplicaciones multiplataforma, información de plataforma y tecnología, ejemplos de código y experiencia de pares para ayudar a los desarrolladores a innovar y tener éxito. Únete a nuestras comunidades para la Internet de las Cosas, Androide*, Tecnología Intel® RealSense ™, Código moderno, Desarrollo de juegos y Windows * para descargar herramientas, acceder a kits de desarrollo, compartir ideas con desarrolladores afines y participar en hackathons, concursos, roadshows y eventos locales.