Tecnología WEB 3D, crea tres casos a través del entorno de nodos.

Buen artículo. Front-end 3D Three.js. Construya un sitio web oficial localmente. Creamos un sitio web oficial para Three.

Ahora creemos el primer recurso ThreeJs.
Aquí todavía elegimos un modo de desarrollo de andamio porque básicamente todos los front-end ahora usan este método de desarrollo. Aquí
creamos un directorio de carpetas como directorio de almacenamiento para nuestro proyecto
Insertar descripción de la imagen aquí
. Abra la terminal en este directorio y ingresar

npm init vite@latest

Luego comenzará la conversación sobre el nombre del proyecto. Lo llamo dom01 aquí. De hecho, ¿qué 1 y qué 2 se usan en el nombre? Este número es realmente muy rentable, pero no es nada para que lo estudiemos. Después de presionar Enter, La segunda pregunta nos pregunta qué marco queremos usar
Insertar descripción de la imagen aquí
. Una es que no hay necesidad de ningún marco
. Entonces vue y reaccionar deberían ser viejos amigos.
Aquí primero seleccionamos el primero y luego diré tanto vue como reaccionar. Allí
Ya hay tres, que también pueden ser modificados por ts.
Aquí seleccionamos el primero y presionamos Enter por el momento. No se requiere framework
Insertar descripción de la imagen aquí
. Luego aquí te preguntará si quieres ts o js. Comencemos con js y don No lo hagas demasiado complicado. Luego presiona
Insertar descripción de la imagen aquí
Enter para confirmar que nuestro proyecto está creado.
Insertar descripción de la imagen aquíLuego abre nuestro proyecto con el editor
Insertar descripción de la imagen aquí
y aquí lo instalamos. Confía en la entrada del terminal.

npm install

Después de ejecutarlo, se instalarán todas las dependencias de nuestro proyecto.
Insertar descripción de la imagen aquí

A través de package.json podemos ver que el comando de inicio lo
ejecuta dev en nuestra terminal

npm run dev

Insertar descripción de la imagen aquí
Luego, nuestro navegador accede a la dirección de ejecución del proyecto que nos proporcionó el terminal.
Este es nuestro entorno de ejecución de proyectos más básico.
Insertar descripción de la imagen aquí
Luego abrimos el proyecto y vemos el archivo de entrada main.js, y luego encontramos que el contenido en realidad está escrito por InnerHTML. Aquí
Insertar descripción de la imagen aquí
, además de importar todos los códigos distintos de style.css, no es necesario eliminarlos directamente.
Insertar descripción de la imagen aquí
Luego, cambiemos el
código de referencia de style.css de la siguiente manera

*{
    
    
  margin: 0;
  padding: 0;
}
canvas{
    
    
  width: 100vw;
  height: 100vh;
  display: block;
}

Primero, configuramos el estilo global sin márgenes internos y externos. Luego, lienzo es el elemento de nombre de uno de nuestros lienzos.
Primero lo escribimos como tamaño de pantalla completa.
Insertar descripción de la imagen aquí
Bien, ahora necesitamos instalar three.js.
Terminamos el proyecto en la terminal y entrar

npm install three

Insertar descripción de la imagen aquí
Luego
escribimos el código directamente en el archivo de entrada main.js de la siguiente manera

import './style.css'
import * as THREE from "three";

//创建场景
const scene = new THREE.Scene();

//创建相机
const camera = new THREE.PerspectiveCamera(
    45, //视角 视角越大  能看到的范围就越大
    window.innerWidth / window.innerHeight,//相机的宽高比  一般和画布一样大最好
    0.1,  //近平面  相机能看到最近的距离
    1000  //远平面  相机能看到最远的距离
);

//c创建一个canvas容器  并追加到 body上
const renderer = new THREE.WebGLRenderer(0);
renderer.setSize(window.innerWidth, window.innerHeight);
document.body.appendChild(renderer.domElement);

//创建一个几何体
const geometry = new THREE.BoxGeometry(1, 1, 1);
//创建材质
const material = new THREE.MeshBasicMaterial({
    
     color:0x08ffe });
//创建网格
const cube = new THREE.Mesh(geometry, material);
//将网格添加到场景中
scene.add(cube);
//设置相机位置   这里 我们设置Z轴  大家可以试试  S Y 和 Z  都是可以的
camera.position.z = 5;
//设置相机默认看向哪里   三个 0  代表 默认看向原点
camera.lookAt(0, 0, 0);
//将内容渲染到元素上
renderer.render(scene, camera);

Creo que mis anotaciones son relativamente claras aquí, así que no explicaré demasiado. El
concepto de cámara es equivalente a cómo vemos la imagen a través de una cámara.
Después de leer las anotaciones, entenderás completamente cuando leas esta oración.
Entonces nuestro efecto de interfaz Eso es todo,
Insertar descripción de la imagen aquí
de hecho es un cubo, pero sabemos que muchas interfaces de gráficos 3D se pueden arrastrar y ver desde diferentes ángulos, pero la nuestra parece estar muerta y no se puede mover
en absoluto.

Aquí podemos escribir una función de rotación.
La llamaré animar aquí.
El código de referencia es el siguiente

function animate() {
    
    
    requestAnimationFrame(animate);
    cube.rotation.x += 0.01;
    cube.rotation.y += 0.01;
    renderer.render(scene, camera);
}
animate();

Insertar descripción de la imagen aquí
Nuestra lógica aquí es que seguirá llamándose a sí mismo para garantizar que nunca dejará de girar.
Cada llamada agregará uno a los ejes x e y, de modo que el
elemento continuará animándose
Insertar descripción de la imagen aquí
. De esta manera, nuestro cubo se activará. .
Insertar descripción de la imagen aquí

Supongo que te gusta

Origin blog.csdn.net/weixin_45966674/article/details/133500369
Recomendado
Clasificación