From 82ffa91927ff2aae20d2d657fc72c0c223848445 Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@63.com>
Date: 星期五, 31 十二月 2021 10:55:21 +0800
Subject: [PATCH] #
---
static/js/app.js | 33 ++++++++++++++++++++++++++-------
1 files changed, 26 insertions(+), 7 deletions(-)
diff --git a/static/js/app.js b/static/js/app.js
index 65fe1ba..26215d3 100644
--- a/static/js/app.js
+++ b/static/js/app.js
@@ -1,12 +1,14 @@
import {OrbitControls} from './lib/OrbitControls.js';
import { PointerLockControls } from './lib/PointerLockControls.js';
import Stats from './lib/stats.module.js';
+import { OutlinePass } from './lib/OutlinePass.js';
import {MTLLoader} from './lib/MTLLoader.js';
import {OBJLoader} from './lib/OBJLoader.js';
import {StoreShelf} from './object/StoreShelf.js';
import {StoreCrn} from './object/StoreCrn.js';
import {StoreConvey} from './object/StoreConvey.js';
import { Sky } from './object/Sky.js';
+
var APP = {
@@ -19,6 +21,7 @@
this.objects = [];//鍦烘櫙涓墍鏈夊璞$殑闆嗗悎
this.firstTime = 1;
this.stats = null;
+ this.outlinePass = null;
this.goodTypes=[];//瀛樺偍鎵�鏈夌殑搴撲綅绫诲瀷
this.crnTasks = [];// 鍫嗗灈鏈哄垪琛�
this.moveForward = false;//鏄惁鍚戝墠杩愯
@@ -30,7 +33,7 @@
this.direction = new THREE.Vector3();
this.raycaster = null;
this.prevTime = performance.now();//涓婁竴娆ender鐨勬椂闂�
- this.backgroundType = false;
+ this.backgroundType = true;
this.start = function () {
this.initMain();
@@ -45,6 +48,8 @@
this.initStats();
this.initLight();
this.initReSize(this);
+ this.initOutLine();
+ this.initObjectSelect();
this.initPointLockControl(this);
this.initFloor();
this.initBuilding();
@@ -76,15 +81,14 @@
}
}
this.initRenderer = function () {
- this.renderer = new THREE.WebGLRenderer();
-
this.renderer = new THREE.WebGLRenderer({
antialias: true,
logarithmicDepthBuffer: true
});
+ // this.renderer.toneMapping = THREE.CineonToneMapping; // 鑹茶皟
this.renderer.setSize(window.innerWidth, window.innerHeight);
this.renderer.setPixelRatio( window.devicePixelRatio );
- this.renderer.shadowMap.enabled = true;
+ this.renderer.shadowMap.enabled = false;
this.renderer.shadowMap.type = THREE.BasicShadowMap;
this.dom = document.getElementById("container");
this.dom.appendChild(this.renderer.domElement);
@@ -137,7 +141,8 @@
}
this.initBackground = function () {
if (this.backgroundType) {
- this.scene.background = new THREE.Color( 0xf0f0f0 );
+ // this.scene.background = new THREE.Color( 0xf0f0f0 );
+ this.scene.background = new THREE.Color( 0x333333 );
} else {
const cubeTextureLoader = new THREE.CubeTextureLoader();
cubeTextureLoader.setPath( '../static/img/skybox0/' );
@@ -177,6 +182,18 @@
object.camera.updateProjectionMatrix();
object.renderer.setSize(window.innerWidth, window.innerHeight);
}, false);
+ }
+ this.initOutLine = function(){
+ this.outlinePass = new OutlinePass( new THREE.Vector2( window.innerWidth, window.innerHeight ), this.scene, this.camera )
+ this.outlinePass.edgeStrength = 10;//鍖呭洿绾挎祿搴�
+ this.outlinePass.edgeGlow = 0.1;//杈圭紭绾胯寖鍥�
+ this.outlinePass.edgeThickness = 1;//杈圭紭绾挎祿搴�
+ this.outlinePass.pulsePeriod = 2;//鍖呭洿绾块棯鐑佽瘎鐜�
+ this.outlinePass.visibleEdgeColor.set('#B31985');//鍖呭洿绾块鑹�
+ this.outlinePass.hiddenEdgeColor.set('#190a05');//琚伄鎸$殑杈圭晫绾块鑹�
+ }
+ this.initObjectSelect = function(){
+ new ObjectSelect(this.scene, this.camera, this.outlinePass);
}
this.initPointLockControl = function(object){
this.controls = new PointerLockControls( this.camera, document.body );
@@ -298,8 +315,10 @@
// const helper = new THREE.PolarGridHelper( 2000, 100 );
- const helper = new THREE.GridHelper( 8000, 300 );
- helper.position.y = - 0;
+ const helper = new THREE.GridHelper( 8000, 300);
+ helper.position.x = 1200;
+ helper.position.y = - 1;
+ helper.position.z = -2000;
helper.material.opacity = 0.25;
helper.material.transparent = true;
this.addObject( helper );
--
Gitblit v1.9.1