На сgresоurce.net можно найти задуманную версию продукта
Форум Quest3D восстановлен!
В этом разделе можно просмотреть все сообщения, сделанные этим пользователем.
Просмотр сообщений
Цитата: DimiS от 21 сентября 2009, 23:05:40Не правильно я ситуацию объяснил,вот скриншот прикрепил,так понятнее будет.В общем есть объект с множеством сюрфейсов и разными(уникальными)3D ObjectData ,объект отзеркален в forloop,на каждый 3D ObjectData нужна коллизия для CollisionRayCheck,что бы можно было изменять шейдерные переменные и менять текстуры у сюрфейсов. Коллизия срабатывает только тогда,когда цепляешь 3D ObjectData к новому сюрфейсу и объекту.Так вот задача состоит в том,что нужно быстро менять 3D ObjectData на другие без утомительной рутинной работы,так как сюрфейсов у объекта должно быть около ста.В 3ds max есть maxscript,рутинные задачи можно выполнять с помощью него,а как это сделать в квесте? Lua script не подойдет же? Возможно нужен какой то специально написанный для этой задачи загрузчик? В общем понятия не имею,как это можно сделать?
ну у CollisionObject в окошке свойств есть флажочек Check if object child update, или я не понял твою ситуацию
Цитата: DimiS от 17 сентября 2009, 18:48:56Спасибо за разъяснение,вроде разобрался!
надо добавить вкладку как показано на рисунке, а там уже разберёшься как добавлять параметры. После добавления параметра в ченел группу все паблик ченелы из этой группы будут иметь линк для этого параметра, но линковать ты туда что либо не обязан. Главное чтоб там где используется параметр он должен быть подключен
П.С: тема уезжает в программирование
ггг, кто то уже переселил)))
Цитата: dfx от 13 июня 2008, 20:53:13
To Glow
Вот пример блока кода, в котором берутся данные о модели из приложения:
half4 position : POSITION;
half3 tangent : TANGENT;
half3 binormal : BINORMAL;
half3 normal : NORMAL;
float2 texCrd : TEXCOORD0; //Это первый текстурный канал, float2 - двумерный вектор(UV)
В вертексном блоке, обычно просто переносят эти данные во фрагментный блок без изменений:
Out.texCrd = In.texCrd;
Но, что бы изменять масштаб координат, например в первом канале, надо в код внести такие изменения:
Out.texCrd.x = In.texCrd.x*Ваша_преременная_для_U;
Out.texCrd.y = In.texCrd.y*Ваша_преременная_для_V;
или
Out.texCrd = float2(In.texCrd.x*Ваша_преременная_для_U, In.texCrd.y*Ваша_преременная_для_V);
// Так при умножении на 1 координаты не изменятся, при *0,5 - тайловая текстура увеличится в 2 раза, при *2 - уменьшится в 2 раза и т.д.
Если же требуется просто смещать координаты по какой либо из осей, то значения надо прибавлять, наприамер In.texCrd0.x+Ваша_преременная_для_U и т.д.
Надеюсь, что понятно объяснил.
.Любая подсказка в итоге только помешает тебе испытать сильнейший катарсис,после продолжительного размышления над ней.
Страница создана за 0.015 сек. Запросов: 13.