Текстура вращающегося куба

После нескольких лет и многих попыток, теперь я понимаю, что есть лучший способ, чем начать, остановить, перезапустить демон прямо с Python: вместо этого используйте инструменты ОС!

Короче говоря, вместо выполнения python myapp start и python myapp stop, я делаю это, чтобы запустить приложение:

screen -S myapp python myapp.py    
CTRL+A, D to detach

или screen -dmS myapp python myapp.py до начать и отделить его в одной команде .

Затем:

screen -r myapp

снова подключиться к этому терминалу. После этого в терминале можно использовать CTRL + C, чтобы остановить его.

0
задан gman 2 March 2019 в 01:04
поделиться

2 ответа

Вам необходимо установить текстуру в свойстве material.map :

// ...

// load a texture, set wrap mode to repeat
var texture = new THREE.TextureLoader().load( "http://packageonly.tk/1.jpg" );
texture.wrapS = THREE.RepeatWrapping;
texture.wrapT = THREE.RepeatWrapping;
texture.repeat.set( 4, 4 );

// NOTE: Set the texture map to use on the material
material.map = texture;

camera.position.z = 10;

// ...

Надеюсь, это поможет!

0
ответ дан Garrett Johnson 2 March 2019 в 01:04
поделиться

Вам нужно будет исправить проблему кросс-происхождения для текстуры. Но примерно так и должно быть (также обратите внимание, что у вас не было источников света):

var scene = new THREE.Scene();
var camera = new THREE.PerspectiveCamera( 30, window.innerWidth/window.innerHeight, 0.1, 1000 );
// mouse controls
var controls = new THREE.OrbitControls( camera );
controls.autoRotate = true;

var renderer = new THREE.WebGLRenderer();
renderer.setSize( window.innerWidth, window.innerHeight );
document.body.appendChild( renderer.domElement );


// load a texture, set wrap mode to repeat
var loader = new THREE.TextureLoader();
loader.crossOrigin = '';
var texture = loader.load( "http://packageonly.tk/1.jpg" );
texture.wrapS = THREE.RepeatWrapping;
texture.wrapT = THREE.RepeatWrapping;
texture.repeat.set( 4, 4 );

// add cube
var geometry = new THREE.BoxGeometry( 1, 1, 1 );
var material = new THREE.MeshPhongMaterial( {map:texture, specular: 0xFFFFFF,
    shininess: 30,} );
var cube = new THREE.Mesh( geometry, material );
scene.add( cube );

let light1 = new THREE.PointLight(0xeeffee, 0.8);
    light1.position.set(-5, 2, 2);
    scene.add(light1);
    
let light2 = new THREE.PointLight(0xffeeff, 0.8);
    light2.position.set(5, 2, -2);
    scene.add(light2);    


camera.position.z = 10;

var render = function () {
  requestAnimationFrame( render );

  controls.update();
  renderer.render(scene, camera);
};

render();
<!DOCTYPE html>
<html>
<head>
	<title>EX3</title>
	<script src="http://packageOnly.tk/three.min.js"></script> 
	<script src="http://packageOnly.tk/OrbitControls.js"></script>

</head>
<body>
	
	<!-- script src="js/js.js"></script -->
</body>
</html>

0
ответ дан Alex Pakka 2 March 2019 в 01:04
поделиться
Другие вопросы по тегам:

Похожие вопросы: