threejs使用简单形状的几何图形组装一台汽车三维模型效果代码

代码语言:html

所属分类:三维

代码描述:threejs使用简单形状的几何图形组装一台汽车三维模型效果代码

代码标签: three 三维 汽车 模型

下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开

<!DOCTYPE html>
<html lang="en" >

<head>

  <meta charset="UTF-8">

  
<style>
body {
  margin: 0;
  padding: 0;
  overflow: hidden;
}
</style>




</head>

<body >
  

<script type="text/javascript" src="//repo.bfw.wiki/bfwrepo/js/three.126.js"></script>
<script type="text/javascript" src="//repo.bfw.wiki/bfwrepo/js/OrbitControls.126.js"></script>
      <script  >
let camera, controls, scene, renderer;

init();
animate();

function Car() {
  const car = new THREE.Group();

  const backWheel = new THREE.Mesh(
  new THREE.CylinderGeometry(6, 6, 33, 64),
  new THREE.MeshLambertMaterial({ color: 0x333333 }));

  backWheel.position.z = 6;
  backWheel.position.x = -18;
  car.add(backWheel);

  const backWheelRim = new THREE.Mesh(
  new THREE.CylinderGeometry(3, 3, 34, 64),
  new THREE.MeshLambertMaterial({ color: 0x000000 }));

  backWheelRim.position.z = 6;
  backWheelRim.position.x = -18;
  car.add(backWheelRim);

  const frontWheel = new THREE.Mesh(
  new THREE.CylinderGeometry(6, 6, 33, 64),
  new THREE.MeshLambertMaterial({ color: 0x333333 }));

  frontWheel.position.z = 6;
  frontWheel.position.x = 18;
  car.add(frontWheel);

  const frontWheelRim = new THREE.Mesh(
  new THREE.CylinderGeometry(3, 3, 34, 64),
  new THREE.MeshLambertMaterial({ color: 0x000000 }));

  frontWheelRim.position.z = 6;
  frontWheelRim.position.x = 18;
  car.add(frontWheelRim);

  const carBody = new THREE.Mesh(
  new THREE.BoxGeometry(60, 30, 15),
  new THREE.MeshLambertMaterial({ color: 0xa52523 }));

  carBody.position.z = 12;
  car.add(carBody);

  const carCabin = new THREE.Mesh(
  new THREE.BoxGeometry(40, 30, 11),
  new THREE.MeshLambertMaterial(0xffffff));

  carCabin.position.z = 25;
  carCabin.position.x = -10;
  car.add(carCabin);

  const frontWindow = new THREE.Mesh(
  new THREE.BoxGeometry(2, 8, 24),
  new THREE.MeshBasicMaterial({ color: 0x00bfff, side: THREE.DoubleSide }));

  frontWindow.position.z = 25;
  frontWindow.position.x = 10;
  frontWindow.rotation.x = Math.PI / 2;
  car.add(frontWindow);

  const rearWindow = new THREE.Mesh(
  new THREE.BoxGeometry(2, 8, 24),
  new THREE.MeshBasicMaterial({ color: 0x00bfff, side: THREE.DoubleSide }));

  rearWindow.position.z = 25;
  rearWindow.position.x = -30;
  rearWindow.rotation.x = Math.PI / 2;
  car.add(rearWindow);

  const leftWindow = new THREE.Mesh(
  new THREE.BoxGeometry(2, 8, 30),
  new THREE.MeshBasicMaterial({ color: 0x00bfff, side: THREE.DoubleSide }));

  leftWindow.position.z = 25;
  leftWindow.position.x = -10;
  leftWindow.position.y = 15;
  leftWindow.rotation.y = Math.PI / 2;
  leftWindow.rotation.z = Math.PI / 2;
  car.add(leftWindow);

  const rightWindow = new THREE.Mesh(
  new THREE.BoxGeometry(2, 8, 30),
  new THREE.MeshBasicMaterial({ color: 0x00bfff, side: THREE.DoubleSide }));

  rightWindow.position.z = 25;
  rightWindow.position.x = -10;
  rightWindow.position.y = -15;
  rightWindow.rotation.y = Math.P.........完整代码请登录后点击上方下载按钮下载查看

网友评论0