Показать сообщение отдельно
  #20 (permalink)  
Старый 07.12.2019, 20:10
Аспирант
Отправить личное сообщение для egor8 Посмотреть профиль Найти все сообщения от egor8
 
Регистрация: 18.10.2014
Сообщений: 35

1. Вот другое расширение .OBJ при экспорте, так получилось. Хорошо смотрится, только в центр нужно сместить и повернуть, чтоб 2 стороны было видно.


2.
Сообщение от MallSerg Посмотреть сообщение
Сделай свет заранее.
Трудно пока, только изучаю, помогите вот последний код:
<!doctype html>
<html>
<head>
<meta charset="utf-8">
		<title>Беседка с хозблоком</title>		
		<meta name="viewport" content="width=device-width, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0">
		<link type="text/css" rel="stylesheet" href="jsm/main.css">
	</head>
	<body>
		<script src="jsm/jszip.min.js"></script>
		<script type="module">
			import * as THREE from './build/three.module.js';
			import { OrbitControls } from './jsm/controls/OrbitControls.js';
			import { KMZLoader } from './jsm/loaders/KMZLoader.js';
			var camera, scene, renderer;
var light;
			init();
			function init() {
				scene = new THREE.Scene();
				scene.background = new THREE.Color( 0x999999 );
			//	var light = new THREE.DirectionalLight( 0xffffff );
				light = new THREE.DirectionalLight( 0xffffff );
			//	light = new THREE.DirectionalLight( 0xffffff, 0.3 );
			//	light.position.set( -0.8, 0.2, -0.1 ).normalize();
				scene.add( light );
				camera = new THREE.PerspectiveCamera( 55, window.innerWidth / window.innerHeight, 1, 1000 );
				camera.position.y = 5;
				camera.position.z = 10;		
				camera.position.x = Math.cos(1) * -9;
				camera.position.y = Math.cos(1) * 5;				
				scene.add( camera );				
				
				var grid = new THREE.GridHelper( 50, 50, 0xffffff, 0x555555 );
				scene.add( grid );
				renderer = new THREE.WebGLRenderer( { antialias: true } );
				renderer.setPixelRatio( window.devicePixelRatio );
				renderer.setSize( window.innerWidth, window.innerHeight );
				document.body.appendChild( renderer.domElement );
				var loader = new KMZLoader();
				loader.load( 'models/besedka-2019.kmz', function ( kmz ) {
					kmz.scene.position.x = -3;
					kmz.scene.position.z = 3;					
					kmz.scene.position.y = 0;					
					scene.add( kmz.scene );
					render();
				} );
				var controls = new OrbitControls( camera, renderer.domElement );
				controls.addEventListener( 'change', render );
				controls.update();
				window.addEventListener( 'resize', onWindowResize, false );
			}
			function onWindowResize() {
			        camera.aspect = window.innerWidth / window.innerHeight;
				camera.updateProjectionMatrix();
				renderer.setSize( window.innerWidth, window.innerHeight );
				render();
			}
			function render() {
				light.position.set( camera.position.x, camera.position.y ,camera.position.z );
				renderer.render( scene, camera );
			}
		</script>
	</body>
</html>
Ответить с цитированием