Форум

Динамический контент (текст)

11 ноября 2015 09:51 #4896
Добрый день!
Конечно не до конца изучил еще все возможности вашего движка, но мне показалось, что такого нет…
Речь идет о динамическом изменении текста, например, на грани куба или на плоскости. При вводе пользователем или при получении данных из БД.

Нашел пример этого на WebGL
внизу примера можно поиграться, поменять надпись на кубе.

Если это возможно в вашем движке, то расскажите как
Дорогу осилит идущий
11 ноября 2015 09:57 #4897
Речь идет о динамическом изменении текста, например, на грани куба или на плоскости. При вводе пользователем или при получении данных из БД.
Да, с Blend4Web это возможно. О том как это сделать читайте в нашем уроке.
Руководитель разработки
11 ноября 2015 10:03 #4899
УРА УРА УРА! Это открывает мне дорогу дальше в моей задумке )
Дорогу осилит идущий
11 ноября 2015 11:07 #4905
Кстати, может вам урок переименовать?) Потому что если честно я его обошел стороной в начале, тем более что демка у меня не пошла…
ну что то например "динамическое рисование на трёхмерных текстурах", "печать текста в Canvas-текстуру", ну или в пояснениях это написать…
"Сегодня мы рассмотрим программную реализацию приложения, с помощью которого пользователь может передать новогоднее поздравление своим друзьям и близким." - вот это описание вообще ни о чем не говорит…
Дорогу осилит идущий
11 ноября 2015 11:26 #4906
Спасибо за обратную связь. Изменил описание и добавил пару тэгов.
Руководитель разработки
03 декабря 2015 10:32 #5610
Дошел я наконец до этого места)
Тут задам вопрос, раз уже поднимал эту тему.
Расскажу что я хочу сделать.
Задумка - сделать 3d-меню. Динамическое, заполняемое из БД.
Что я делаю. Создал два кубика - главное меню, и подменю.
создал массив меню (пока JS из таблицы, потом его из контроллера будет передавать php).
По Массиву добавляю кубик на каждый элемент меню
function LoadMainMenuF() {
var MenuData = GetMenuArray()
for (var a = 0;  a < MenuData.length; a++)
   { 
m_data.load("MainMenu.json", loaded_cb, null, null, true );
}
}

при загрузке каждого кубика вызываю колбэк loaded_cb, в котором размещаю кубики как мне надо
 function loaded_cb(data_id, success) {
 if (success) {
 console.log(data_id + " loaded");
 }
 var LoadedObject = m_scenes.get_object_by_name("MainMenu1", data_id);
 LoadPosition = LoadPosition + 3;
 m_trans.set_translation(LoadedObject, 0, 0, LoadPosition);} 

и вот в этом же колбэке я хочу на каждый кубик поместить надпись с названием пункта соответствующего меню.
Начал разбираться с канвас-текстурами, и понял, что моя задумка похоже не прокатит, так как мы вызываем
 var ctx_image = m_tex.get_canvas_texture_context("CanvasID");

, а CanvasID у всех кубиков то один и тот же!, всего то у меня только два кубика, я их просто много раз загружаю.
Не подскажете может нужен какой-то другой путь? или может я тут что-то не допонял?
и как мне в колбэк передать значение из своего массива
Дорогу осилит идущий
07 декабря 2015 11:47 #5675
Это прррррискорбно, рррребят….
*ушел ковырять WebGl и three.js*
Дорогу осилит идущий
07 декабря 2015 12:03 #5677
Добрый день.

В настоящее время канвас-текстуры копируются по ссылке, то есть берутся с объекта оригинала. В ближайшем будущем (очень надеюсь, что в этом релизе) они будут копироваться по значению (то есть будут уникальными при копировании).
Разработчик Blend4Web
07 декабря 2015 13:20 #5680

В ближайшем будущем (очень надеюсь, что в этом релизе) они будут копироваться по значению (то есть будут уникальными при копировании).

это прррррекрасно!
С нетерпением жду эту, безусловно, необходимую для создания 3d-интернета, функцию
Дорогу осилит идущий
 
Пожалуйста, зарегистрируйтесь или войдите под своей учетной записью , чтобы оставлять сообщения.