Вопрос - ответ

06 июня 2018 18:07
Ответ на сообщение пользователя Александр Романов
Не совсем так. В этом направлении в движке присутствует некоторый бардак.
Сейчас переключать камеру можно только мгновенным перемещением активной камеры. Используйте get_active_camera, get_tsr, set_tsr

Ах, да, старая добрая трансляция.
Но ведь метод с переключением сцен тоже будет работать, верно?
Коплю деньги на коммерческий B4W.
13 июня 2018 14:17
Ах, да, старая добрая трансляция.
Но ведь метод с переключением сцен тоже будет работать, верно?
Метод set_active в данный момент делает активной сцену для некоторых манипуляций, например для добавления объектов на активную сцену. Однако если установить активной некоторую сцену, камера переключаться не будет. Так что ответ, нет, не будет работать.
Александр (команда Blend4Web)
twitter
18 июня 2018 02:01
Большое спасибо за ответы!
Еще вопрос)
Как заставить работать этот нодовый матерал с паралаксом (прикрепил скрин) на объектах с измененной через API геометрией?
Знаю, что задать UV для нодовых материалов через API нельзя. Может какие есть пути решения данной задачи?
19 июня 2018 12:20
Вместо UV подать Global, правда придется в таком случае дробить меш на отдельные объекты (в соответствии с направлениями осей координат), и назначать им pass Index. Далее в нодовом материале можно использовать ноду "Object Info" и оттуда задействовать этот самый pass Index (в ноде он Object Index) чтобы производить uv-маппинт в необходимых плоскостях: XOY, XOZ, YOZ
Александр (команда Blend4Web)
twitter
22 июня 2018 23:59
Спасибо! Но я не особо понял как это сделать…
Мой меш это просто четырехугольник, плоский, который динамически меняет геометрию. Как его можно раздробить? Спроецировать на плоскости XOY, XOZ, YOZ? И по поводу самого материала: есть какойнить пример подобного случая? Куданить посмотреть, потому что пока не понятно…(

И вдогонку)
Как через API изменить тип камеры с перспективы на ортогональную?

З.Ы. Прошу прощения за большое количество вопросов! (Я думаю их будет еще больше)
Но если проект получится реализовать на B4W, то лицензия будет комерческой)
25 июня 2018 12:56
Мой меш это просто четырехугольник, плоский, который динамически меняет геометрию. Как его можно раздробить? Спроецировать на плоскости XOY, XOZ, YOZ? И по поводу самого материала: есть какойнить пример подобного случая? Куданить посмотреть, потому что пока не понятно…(

С одним плоским четырехугольником все довольно просто, но если например у вас кирпичная стена, которую можно обходить кругом, то может понадобиться делать UV-мэппинг всех граней. Прикрепил пример (не забудьте, что карта высот для parallax должна лежать в альфа-канале текстуры).


Как через API изменить тип камеры с перспективы на ортогональную?
Попробуйте следовать советам в этом ответе: https://www.blend4web.com/ru/forums/post/19616/
Александр (команда Blend4Web)
twitter
09 июля 2018 18:00
Добрый день.
Как можно сделать, что бы объект (мэш), который отражаются не был виден в камеру.
Т.е. он должен быть виден только в отражении.
13 августа 2018 16:15
Ответ на сообщение пользователя CyberKatana
<!DOCTYPE html>
<html>
    <head>
        <script type="text/javascript" src="js/b4w.min.js"></script>
        <script type="text/javascript" src="js/test.js"></script>
        <script type="text/javascript" src="js/jquery-2.1.3.min.js"></script>
        <link href="css/main.css" rel="stylesheet">
    </head>
    <body>
        <div id="canvas3d"></div>
    </body>
</html>


"use strict";
//3d start
b4w.register("test", function(exports, require) {

	var m_data = require("data");
	var m_app = require("app");

	exports.init = function() {
		m_app.init({
			canvas_container_id: "canvas3d",
			callback: init_cb,
			show_fps: true
		})
	}

	function init_cb(canvas_elem, success) {
		if (!success){
			console.log("b4w init failure");
			return;
		}
		load();
	}

	function load() {
		m_data.load("/scene/test.json", load_cb);
	}

	function load_cb(data_id) {
		m_app.enable_camera_controls();
	}
})

b4w.require("test").init();


Пробую запустить дефолтную сцену из блендера, вроде бы все сделал как в CodeSnippets, но не стартует. В консоли: Uncaught RangeError: Offset is outside the bounds of the DataView. Где я нарукопопил?

Так что было то? Я уже намучался искать ошибку. Работает через раз.
Коплю деньги на коммерческий B4W.
 
Пожалуйста, зарегистрируйтесь или войдите под своей учетной записью , чтобы оставлять сообщения.