Re: MojorDoMo и three.js (3d сцены)
Добавлено: Пт ноя 06, 2015 3:38 pm
Хм, у меня вывелось нормально:



Код: Выделить всё
http://192.168.1.179/js/threejs/loaders/SceneLoader.js Failed to load resource: the server responded with a status of 404 (Not Found) Код: Выделить всё
<script type="text/javascript" src="/js/processing.js"></script>Код: Выделить всё
var r = Date.now() * 0.0005;
camera.position.x = 700 * Math.cos( r ); 


Уже неплохой уровень интеграции).sergejey писал(а):Выложил свежие наработки по этой теме.
По-тиху приближаемся к интерактиву. Сейчас для элементов типа 3д-сцена можно добавлять состояния, каждое состояние может быть привязано к 3д-объекту или камере (названия пока вручную вбиваются, но потом можно делать выбор).
По поводу кликов по объектам - как раз с этого и начал знакомство с threejs, т.к. на процессинге этого не получилось.sergejey писал(а): Так же привязка будет использоваться для обработки кликов по объекту -- пока не работает (тут застопорился, не могу пока разобраться с тем, как определить, по какому объекту был клик мышкой). Кстати, надо проверить будет ли работать привязка с источниками света.
Код: Выделить всё
...
raycaster = new THREE.Raycaster();
mouse = new THREE.Vector2();
...
function onDocumentMouseDown( event ) {
event.preventDefault();
mouse.x = ( event.clientX / renderer.domElement.width ) * 2 - 1;
mouse.y = - ( event.clientY / renderer.domElement.height ) * 2 + 1;
raycaster.setFromCamera( mouse, camera );
...
Код: Выделить всё
var intersects = raycaster.intersectObjects( objects ); Код: Выделить всё
if ( intersects.length > 0 ) {
switch ( intersects[ 0 ].object.name ) {
case 0: //имя объекта
test_js = new middle_connector('свет_на_кухне.turnon', 'l', 5000, 1);
test_js.objectToSend = 'свет_на_кухне';
test_js.methodToSend = 'turnon';
test_js.MultiSendData();
break; Код: Выделить всё
if (obj[i].STATE=='1') {
new_camera = scene.getObjectByName( elem.data('s3d_camera'), true );;
}else {
new_camera = default_camera;
}
camera=new_camera; Я еще предыдущие то фишки протестить не успел =D...плавного перехода между несколькими камерами скорее всего не получится. Единственный вариант подобного перехода - "прокатить" первую камеру до позиции второй, переключить на вторую камеру, и первую вернуть на свою позицию.sergejey писал(а):Очередной затыкНе могу сделать плавный переход между камерами. Ну никак не получается...
Из него хочется сделать нужный с плавным переходом, чтобы не просто камера менялась, а camera переезжала в позицию new_camera и меняла направление "взгляда".
Пробовал примеры с Tween.js, но ничего не выходит. Даже без плавности не могу присвоить camera такие же свойства, что бы она стала на место new_camera. В общем, нужна помощь зала