Форум

Сообщения, созданные пользователем Grohot
11 февраля 2016 18:01
Спасибо, Роман. Как всегда, все просто оказывается
11 февраля 2016 17:34
1. Допустим, есть базовый объект с материалом белого цвета.
И два прокси-объекта, на одном материал черного цвета, на другом белого (белый такой же материал, как на базовом объекте)

2. Скриптом создаем копии базового объекта, копируя на него, то белый, то черный материал с прокси-объектов
с помощью material.inherit_material, но получается, что белый цвет один раз затирает черный (или наоборот) и в итоге все получается одного цвета.
Есть подозрение, что при создании копии базового объекта надо создавать его со своим материалом. Только как?
Или как-то по-другому решается?
10 февраля 2016 12:17
Это относится к морфингу
Здесь можно посмотреть пример использования (нажать "View Code").
Спасибо. Понял.
10 февраля 2016 11:26
ах, если бы, ах если бы…shapekeys можно юзать как вариант
А где это, что это? )
set_shape_key_value?
Но суть функции не очень ясна.
10 февраля 2016 10:28
Всем привет!
В b4w есть непропорциональное масштабирование?
Вижу только transform.set_scale.
Возможно ли масштабировать только по определенной оси?
Если нет, то можно ли например задать новые размеры меша?
09 февраля 2016 18:39
Добрый день, Роман. Спасибо, понял.
09 февраля 2016 14:02
Материалы экспортируются только с объектами?
Т.е. мне надо например динамически создавать объекты и менять им материал.
Не нашел как задать новый материал объекту кроме как скопировать с уже существующего объекта.
08 февраля 2016 16:39
Предположим, что камера смотрит на сцену строго видом сверху ортогонально (т.е. нам нужны только координаты X, Y).
Вопрос: как преобразовать (x, y) клика курсора на канве в (x, y) сцены? (и есть ли такое же с видом камеры в перспективе)
Например для перетаскивания меша мышью по сцене (без анимации блендера).

Предварительно ответ нашел в примерах здесь
и в обсуждении здесь. Cпасибо
08 февраля 2016 15:30
Поскольку b4w.min.js уже содержит их в себе (в сжатом виде). Так же после копирования объекта его нужно добавить на сцену
Спасибо, Роман. Все замечательно работает Дальше попробую разобраться как можно мышью двигать кубики по отдельности (при этом саму сцену мне вращать мышью совсем не надо, т.е. видимо m_app.enable_camera_controls(); можно тоже убрать).
08 февраля 2016 14:39
Пробую разобраться с API b4w на простом примере (дефолтная сцена с кубиком блендера).
Задача:
1. создать копию кубика
2. поместить эту копию рядом с существующим
Пока пытаюсь сделать п.1:
<!DOCTYPE html>
<html>
<head>
<script src="b4w.min.js"></script>
<script src="objects.js"></script>
<script src="scenes.js"></script>

<script>
	function start_3d() {
		var m_app = b4w.require("app");
		var m_data = b4w.require("data");
		var m_scenes = b4w.require("scenes");
		var m_objects = b4w.require("objects");

		m_app.init({
			canvas_container_id: "container_id",
			physics_enabled: false,
			callback: load_cb
		})

		function load_cb() {
			m_data.load("some_scene.json", loaded_cb);
		}

		function loaded_cb() {
			m_app.enable_controls();
			m_app.enable_camera_controls();

			var sourceCube = m_scenes.get_object_by_name("Cube");
			var newCube = m_objects.copy(sourceCube, "newCube");
		}
	}

	document.addEventListener("DOMContentLoaded", function(){
		start_3d()}, false);
</script>
</head>

<body>
    <div id="container_id" style="width: 512px; height: 300px;"></div>
</body>

</html>

На m_app.enable_camera_controls(); ругается:
m_scenes.check_active is not a function в 116 строке scenes.js
Что не так не пойму пока