threeJs

核心元素:Scene、camera、Mesh(geometry,material)、Light、render

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

<head>

  <head charset="utf-8">
    <title>title</title>
  </head>

<body>
  <div id="webgl-three"></div>
  <script src="http://www.yanhuangxueyuan.com/threejs/build/three.js"></script>

  <script>
    let scene = new THREE.Scene();
    // Creates a new Camera. Note that this class is not intended to be called directly; you probably want a PerspectiveCamera or OrthographicCamera instead.
    /*
      fov — Camera frustum vertical field of view.
      aspect — Camera frustum aspect ratio.
      near — Camera frustum near plane.
      far — Camera frustum far plane.
    */
    let camera = new THREE.PerspectiveCamera(75, window.innerWidth / window.innerHeight, 0.1, 5000);
    camera.position.x = 4;
    camera.position.y = 2;
    camera.position.z = 4;
    camera.lookAt(scene.position);
    // 添加几何体 + 材质
    // http://www.webgl3d.cn/threejs/docs/#api/zh/geometries
    let geometry = new THREE.BoxGeometry(4, 2, 4);
    // https://www.webgl3d.cn/threejs/docs/#api/zh/materials
    var material = new THREE.MeshLambertMaterial({
      color: 0x000000
    });
    // 网格
    /**
     * geometry —— (可选)Geometry或者BufferGeometry的实例,默认值是一个新的BufferGeometry。
       material —— (可选)一个Material,或是一个包含有Material的数组,默认是一个新的
     */
    // http://www.webgl3d.cn/threejs/docs/#api/zh/objects/Mesh
    var cube = new THREE.Mesh(geometry, material);
    scene.add(cube);
    // 光
    // http://www.webgl3d.cn/threejs/docs/#api/zh/lights/Light
    let spotLight = new THREE.SpotLight();
    spotLight.position.set(3, 10, 5);
    scene.add(spotLight);
    // WebGL Render 用WebGL渲染出你精心制作的场景。
    // http://www.webgl3d.cn/threejs/docs/#api/zh/renderers/WebGLRenderer
    let renderer = new THREE.WebGLRenderer({
      antialias: true
    })
    renderer.setClearColor(new THREE.Color("#EEE8AA"));
    renderer.setSize(window.innerWidth, window.innerHeight);
    document.getElementById("webgl-three").appendChild(renderer.domElement);
    // 按帧刷新
    render();
    console.log("scene", scene);

    function render() {
      renderer.render(scene, camera);
      requestAnimationFrame(render);
    }
  </script>
</body>

</head>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值