JSFiddle - React, Tailwind, and code Playground

by meijun

JavaScript

import './ThreeMap.css';
import React, { Component } from 'react';
import * as THREE from 'three';
import OBJLoader from 'three-obj-loader';
const style = {
    position: 'absolute',
    left: 0,
    top: 0,
    borderRadius: '2%',
    border: '2px solid #d7dbde',
    width: '50%',
    height: '244px',
    marginLeft: '20px',
    marginTop: '20px'
}
class ThreeMap extends Component {
    componentDidMount() {
        this.initThree();
    }
    initThree() {
        let camera, scene, renderer;
        let canvas1 = document.getElementById('canvas1');
        let width = canvas1.clientWidth;
        let height = canvas1.clientHeight;
        init();
        animate();
        var object;
        function init() {
            //自定义画布位置
            renderer = new THREE.WebGLRenderer({ canvas: canvas1 });
            renderer.setSize(width, height);
            scene = new THREE.Scene();
            camera = new THREE.PerspectiveCamera(40, width / height, 1, 1000);
            camera.position.set(50, 50, 100);
            camera.up.x = 0;//相机以哪个方向为上方
            camera.up.y = 1;
            camera.up.z = 0;
            camera.lookAt(0, 0, 0)//相机看向哪个坐标,(0,0,0)是原点
            //这里可以修改背景颜色
            renderer.setClearColor(0xffffff);
            //这里实现是否可以控制object的位置、旋转
            // var controls = new THREE.OrbitControls(camera, renderer.domElement);
            //是否可以缩放
            // controls.enableZoom = false;
            //禁止鼠标交互,此处设置为false之后,不能移动位置,不能旋转物体
            // controls.enableRotate = false;
            var light = new THREE.DirectionalLight(0xf8d366, 0.5);
            light.position.setScalar(100);
            scene.add(light);
            scene.add(new THREE.AmbientLight(0xf8d366, 0.5));
        }
        function loadModel() {
            // object.traverse( function ( child ) {
            //     if ( child.isMesh ) child.material.map = texture;
            // } );
            // object.position.y = - 95;
            scene.add( object );
       ...