Форум

Сообщения, созданные пользователем Dragon3DGraff
03 декабря 2015 10:32
Дошел я наконец до этого места)
Тут задам вопрос, раз уже поднимал эту тему.
Расскажу что я хочу сделать.
Задумка - сделать 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 у всех кубиков то один и тот же!, всего то у меня только два кубика, я их просто много раз загружаю.
Не подскажете может нужен какой-то другой путь? или может я тут что-то не допонял?
и как мне в колбэк передать значение из своего массива
Дорогу осилит идущий
02 декабря 2015 10:08
поделюсь своими "научными" изысканиями
function GetObjectInfo(objPicked){
	var SummuryInfo="";
	var object_size = "";
	var object_name = "";
	var object_b_b_topPoint = "";
	var object_b_b_bottomPoint = "";
	var translation = "";
	var object_height = "";
	var Accuracy = 3;
	var Which_Canvas = "";
	var Object_Data_id = "";
	object_name = "Имя: " + m_scenes.get_object_name(objPicked) + "<br>";
	object_b_b_topPoint = "Верхняя точка: " + m_trans.get_object_bounding_box(objPicked).max_y.toPrecision(Accuracy) + "<br>";
	object_b_b_bottomPoint = "Нижняя точка: " + m_trans.get_object_bounding_box(objPicked).min_y.toPrecision(Accuracy) + "<br>";
	translation = "Положение центра:" + "<br>" 
	            + "   X = " + m_trans.get_translation(objPicked)[0].toPrecision(Accuracy)+ "<br>"
	            + "   Y = " + m_trans.get_translation(objPicked)[1].toPrecision(Accuracy)+ "  - Это ВВЕРХ!!!" + "<br>"
			    + "   Z = " + m_trans.get_translation(objPicked)[2].toPrecision(Accuracy)+ "<br>";
	//m_trans.distance(objME,SubMenuOpen );
	object_height = "Высота объекта: " + (m_trans.get_object_bounding_box(objPicked).max_y - m_trans.get_object_bounding_box(objPicked).min_y)  + "<br>";
Object_Data_id = "Object_Data_id " + m_scenes.get_object_data_id(objPicked) + "<br>";
	//object_size = "Размер объекта:  " + m_trans.get_object_size(objPicked).toPrecision(Accuracy) + "<br>";
	Which_Canvas = "main_canvas_container" + "<br>";
	SummuryInfo = Which_Canvas + object_name + translation + object_b_b_topPoint + object_b_b_bottomPoint + object_height + Object_Data_id;
	return SummuryInfo;
}

позиционирование объекта :
относительного другого объекта
 m_trans.set_translation_obj_rel(SubMenuOpen, 0, 0, 0, m_scenes.get_object_by_name("MainMenu1"));

глобально
 m_trans.set_translation(LoadedObject, 0, 0, 0); 

Дорогу осилит идущий
01 декабря 2015 09:20
да, присоединяюсь к просьбе
Дорогу осилит идущий
27 ноября 2015 18:36

Если вы имеете возможность написать логику работы на JavaScript, то почему бы сразу не написать все приложение?
подумал - вдруг я изобретаю велосипед, а вы уже написали инструмент (нодовую логику), который все это делает , и может быть какие вещи удобнее и быстрее сделать в ней, для чего то же вы над ней усердно работаете
движок то вы написали же, а то бы кодил сейчас напрямую под WebGl

На мой взгляд, идете совершенно верным путем
вот это прекрасно
Дорогу осилит идущий
27 ноября 2015 17:34
ура-ура-ура
расширение возможностей редактора логики
Скажите, редактор логики имеет какое то преимущество функциональное перед программированием на JavaScript?
И можно ли часть логики сделать в редакторе, а часть написать кодом, и потом их связать?
Или тру - это писать на Javascript все? ( Я как-то склонен все написать кодом, но подумал - может я иду неверным путем)
Дорогу осилит идущий
26 ноября 2015 16:15
и материал Wire не поддерживается
Дорогу осилит идущий
25 ноября 2015 10:57

А на чем смотрите, если не секрет?

PC FF
Предполагаю что он у меня просто дюже тормознутый
Дорогу осилит идущий
25 ноября 2015 10:55
все работает) их надо не нажимать, а почему то тянуть вправо) не очень интуитивно
Дорогу осилит идущий
25 ноября 2015 10:51
у меня темная елка, ничего не крутится, слева шарики - это кнопки? если да - то они не работают
Дорогу осилит идущий
24 ноября 2015 13:10

Можно отключать intensity в ноль но это не даст прироста производительности, это лучше использовать только с целью созданию какихто визуальных эффектов.

а как добиться производительности в этом случае? выгрузить источник света из сцены?
Дорогу осилит идущий