threejs打造一个书桌三维效果代码

代码语言:html

所属分类:三维

代码描述:threejs打造一个书桌三维效果代码,摆满纸张和瓶子

代码标签: 书桌 三维 效果

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

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

<head>

  <meta charset="UTF-8">

  
<style>
body {
  margin: 0;
  height: 100vh;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #000;
}
</style>




</head>

<body >

  
      <script type="module">
import * as THREE from "https://threejs.org/build/three.module.js";
import { OrbitControls } from "https://threejs.org/examples/jsm/controls/OrbitControls.js";

let camera, scene, renderer;
const uniforms = {
  t: { value: 0 } };


const { PI, cos, sin } = Math;
const TAU = 2 * PI;
const HALF_PI = PI / 2;

const map = (value, sMin, sMax, dMin, dMax) => {
  return dMin + (value - sMin) / (sMax - sMin) * (dMax - dMin);
};
const textrue = path => new THREE.TextureLoader().load(path);

const vec = (x = 0, y = 0, z = 0) => new THREE.Vector3(x, y, z);

const range = (n, m = 0) =>
Array(n).
fill(m).
map((i, j) => i + j);

const polar = (ang, r = 1) => [r * cos(ang), r * sin(ang)];

const group = () => new THREE.Group();

const shaderMaterials = getShaderMaterialSet(uniforms);
function init() {
  scene = new THREE.Scene();

  renderer = new THREE.WebGLRenderer({ antialias: true });
  renderer.setPixelRatio(window.devicePixelRatio);
  renderer.setSize(window.innerWidth, window.innerHeight);
  document.body.appendChild(renderer.domElement);

  camera = new THREE.PerspectiveCamera(
  60,
  window.innerWidth / window.innerHeight,
  1,
  1000);

  camera.position.set(
  1.5733694630638464,
  64.24498103358587,
  100.84717514499769);

  camera.rotation.x = -0.5672196272222528;
  camera.rotation.y = 0.013157534983447959;
  camera.rotation.z = 0.008381607123176699;

  const controls = new OrbitControls(camera, renderer.domElement);

  addResizeHandler(renderer, camera);

  const envMapTexture = new THREE.TextureLoader().load(
  "//repo.bfw.wiki/bfwrepo/image/5d6539385ad28.png",.........完整代码请登录后点击上方下载按钮下载查看

网友评论0