From 9fce7ce7b76b859c5b70cc622d885cd9d6c1579f Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@163.com>
Date: 星期二, 23 四月 2024 10:58:30 +0800
Subject: [PATCH] #
---
src/components/house.jsx | 55 +++++++++++++++++++++++++------------------------------
1 files changed, 25 insertions(+), 30 deletions(-)
diff --git a/src/components/house.jsx b/src/components/house.jsx
index d41a378..293604d 100644
--- a/src/components/house.jsx
+++ b/src/components/house.jsx
@@ -1,17 +1,18 @@
import React, { useEffect, useRef } from 'react';
import * as THREE from 'three';
-import { ThreeElements, useLoader, extend } from '@react-three/fiber';
+import { extend } from '@react-three/fiber';
import { Geometry, Base, Subtraction, Addition } from '@react-three/csg';
-import { FontLoader } from 'three/examples/jsm/loaders/FontLoader';
import { TextGeometry } from 'three/examples/jsm/geometries/TextGeometry';
+import { DEBUG } from '../config/setting';
extend({ TextGeometry });
const House = (props) => {
const {
wallThickness = 2,
- width = 1400,
- length = 1200,
- height = 400,
+ wallOpacity = .6,
+ width = DEBUG ? 14000 : 1400,
+ length = DEBUG ? 12000 : 1200,
+ height = DEBUG ? 4000 : 400,
aside_width = 130,
aside_length = 130,
position = new THREE.Vector3(200, 0, 0),
@@ -44,19 +45,14 @@
// const texture = new THREE.TextureLoader().load('/static/wall_pic5.jpg');
const texture = new THREE.TextureLoader().load(
- process.env.NODE_ENV == 'development'
- ? '/static/wall_pic5.jpg'
- : `/degital-twin-3d/static/wall_pic5.jpg`
+ `/textures/wall_pic5.jpg`
);
- console.log('env', process.env.NODE_ENV);
texture.wrapS = THREE.RepeatWrapping; // 姘村钩鏂瑰悜閲嶅
texture.repeat.set(0.02, 0.02);
const roofTexture = new THREE.TextureLoader().load(
- process.env.NODE_ENV == 'development'
- ? '/static/wall_pic7.png'
- : `/degital-twin-3d/static/wall_pic7.png`
+ `/textures/wall_pic7.png`
);
roofTexture.wrapS = THREE.RepeatWrapping; // 姘村钩鏂瑰悜閲嶅
roofTexture.wrapT = THREE.RepeatWrapping; // 鍨傜洿鏂瑰悜閲嶅
@@ -64,45 +60,35 @@
roofTexture.repeat.set(0.005, 0.005);
const floorTexture = new THREE.TextureLoader().load(
- process.env.NODE_ENV == 'development'
- ? '/static/floor_02.png'
- : `/degital-twin-3d/static/floor_02.png`
+ `/textures/floor_02.png`
);
floorTexture.wrapS = THREE.RepeatWrapping; // 姘村钩鏂瑰悜閲嶅
floorTexture.wrapT = THREE.RepeatWrapping; // 鍨傜洿鏂瑰悜閲嶅
floorTexture.repeat.set(0.01, 0.01);
const roadTexture = new THREE.TextureLoader().load(
- process.env.NODE_ENV == 'development'
- ? '/static/road2.jpg'
- : `/degital-twin-3d/static/road2.jpg`
+ `/textures/road2.jpg`
);
roadTexture.wrapS = THREE.RepeatWrapping; // 姘村钩鏂瑰悜閲嶅
roadTexture.wrapT = THREE.RepeatWrapping; // 鍨傜洿鏂瑰悜閲嶅
roadTexture.repeat.set(5, 1);
const grassTexture = new THREE.TextureLoader().load(
- process.env.NODE_ENV == 'development'
- ? '/static/grass.jpg'
- : `/degital-twin-3d/static/grass.jpg`
+ `/textures/grass.jpg`
);
grassTexture.wrapS = THREE.RepeatWrapping; // 姘村钩鏂瑰悜閲嶅
grassTexture.wrapT = THREE.RepeatWrapping; // 鍨傜洿鏂瑰悜閲嶅
grassTexture.repeat.set(20, 1);
const surfaceTexture = new THREE.TextureLoader().load(
- process.env.NODE_ENV == 'development'
- ? '/static/surface.jpg'
- : `/degital-twin-3d/static/surface.jpg`
+ `/textures/surface.jpg`
);
surfaceTexture.wrapS = THREE.RepeatWrapping; // 姘村钩鏂瑰悜閲嶅
surfaceTexture.wrapT = THREE.RepeatWrapping; // 鍨傜洿鏂瑰悜閲嶅
surfaceTexture.repeat.set(0.01, 0.01);
const crossTexture = new THREE.TextureLoader().load(
- process.env.NODE_ENV == 'development'
- ? '/static/cross.png'
- : `/degital-twin-3d/static/cross.png`
+ `/textures/cross.png`
);
crossTexture.wrapS = THREE.RepeatWrapping; // 姘村钩鏂瑰悜閲嶅
crossTexture.wrapT = THREE.RepeatWrapping; // 鍨傜洿鏂瑰悜閲嶅
@@ -446,7 +432,7 @@
{ depth: wallThickness },
]}
/>
- <meshPhongMaterial map={texture} metalness={1.0} reflectivity={1.5}></meshPhongMaterial>
+ <meshPhongMaterial map={texture} metalness={1.0} reflectivity={1.5} transparent={true} opacity={wallOpacity}></meshPhongMaterial>
</mesh>
{/* 鍚庨潰鐨勮矾 */}
<mesh rotation={[Math.PI / 2, 0, 0]}>
@@ -467,7 +453,7 @@
{ depth: wallThickness },
]}
/>
- <meshPhongMaterial map={texture} metalness={1.0} reflectivity={1.5}></meshPhongMaterial>
+ <meshPhongMaterial map={texture} metalness={1.0} reflectivity={1.5} transparent={true} opacity={wallOpacity}></meshPhongMaterial>
</mesh>
{/* 鍓嶉潰鐨勫澹佷笅闈㈢殑璺� */}
<mesh rotation={[Math.PI / 2, 0, 0]}>
@@ -497,7 +483,10 @@
receiveShadow
>
<extrudeGeometry args={[getBackWallShape(), { depth: wallThickness }]} />
- <meshPhysicalMaterial map={texture} metalness={1.0} roughness={0.8}></meshPhysicalMaterial>
+ <meshPhysicalMaterial map={texture} metalness={1.0} roughness={0.8}
+ transparent={true}
+ opacity={wallOpacity}
+ ></meshPhysicalMaterial>
</mesh>
<mesh rotation={[Math.PI / 2, 0, 0]}>
<LeftRoad></LeftRoad>
@@ -532,6 +521,8 @@
color={'#0069c5'}
metalness={1.0}
roughness={0.8}
+ transparent={true}
+ opacity={wallOpacity}
></meshPhysicalMaterial>
</mesh>
{/* 椤堕儴绗簩灞� */}
@@ -545,6 +536,8 @@
color={'#4895f6'}
metalness={1.0}
roughness={0.8}
+ transparent={true}
+ opacity={wallOpacity}
></meshPhysicalMaterial>
</mesh>
{/* 椤堕儴绗笁灞� */}
@@ -558,6 +551,8 @@
map={roofTexture}
metalness={1.0}
roughness={0.8}
+ transparent={true}
+ opacity={wallOpacity}
></meshPhysicalMaterial>
</mesh>
</group>
--
Gitblit v1.9.1