53 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
		
		
			
		
	
	
			53 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
|  | import { | ||
|  | 	BackSide, | ||
|  | 	BoxGeometry, | ||
|  | 	Mesh, | ||
|  | 	MeshLambertMaterial, | ||
|  | 	MeshStandardMaterial, | ||
|  | 	PointLight, | ||
|  | 	Scene, | ||
|  | } from 'three'; | ||
|  | 
 | ||
|  | class DebugEnvironment extends Scene { | ||
|  | 
 | ||
|  | 	constructor() { | ||
|  | 
 | ||
|  | 		super(); | ||
|  | 
 | ||
|  | 		const geometry = new BoxGeometry(); | ||
|  | 		geometry.deleteAttribute( 'uv' ); | ||
|  | 		const roomMaterial = new MeshStandardMaterial( { metalness: 0, side: BackSide } ); | ||
|  | 		const room = new Mesh( geometry, roomMaterial ); | ||
|  | 		room.scale.setScalar( 10 ); | ||
|  | 		this.add( room ); | ||
|  | 
 | ||
|  | 		const mainLight = new PointLight( 0xffffff, 50, 0, 2 ); | ||
|  | 		this.add( mainLight ); | ||
|  | 
 | ||
|  | 		const material1 = new MeshLambertMaterial( { color: 0xff0000, emissive: 0xffffff, emissiveIntensity: 10 } ); | ||
|  | 
 | ||
|  | 		const light1 = new Mesh( geometry, material1 ); | ||
|  | 		light1.position.set( - 5, 2, 0 ); | ||
|  | 		light1.scale.set( 0.1, 1, 1 ); | ||
|  | 		this.add( light1 ); | ||
|  | 
 | ||
|  | 		const material2 = new MeshLambertMaterial( { color: 0x00ff00, emissive: 0xffffff, emissiveIntensity: 10 } ); | ||
|  | 
 | ||
|  | 		const light2 = new Mesh( geometry, material2 ); | ||
|  | 		light2.position.set( 0, 5, 0 ); | ||
|  | 		light2.scale.set( 1, 0.1, 1 ); | ||
|  | 		this.add( light2 ); | ||
|  | 
 | ||
|  | 		const material3 = new MeshLambertMaterial( { color: 0x0000ff, emissive: 0xffffff, emissiveIntensity: 10 } ); | ||
|  | 
 | ||
|  | 		const light3 = new Mesh( geometry, material3 ); | ||
|  | 		light3.position.set( 2, 1, 5 ); | ||
|  | 		light3.scale.set( 1.5, 2, 0.1 ); | ||
|  | 		this.add( light3 ); | ||
|  | 
 | ||
|  | 	} | ||
|  | 
 | ||
|  | } | ||
|  | 
 | ||
|  | export { DebugEnvironment }; |