Если ты работаешь в 3ds max надо во время текстурирования, в меню развертка uvw, там где отображается текстурная карта и фейсы модели, двигать фейсы по текстуре таким образом чтобы они не вылезали за прямоугольную отчерченую область, если не будешь вылазиьь за неё - координаты текстуры будут варьировать от 0 до1 (в общем как надо в нужных пределах будут). Как в других прогах - я не знаю.
Сообщение отредактировал Kaskad - Четверг, 02 Марта 2017, 00:49
Проблема следующая. Я сделал экспортер из 3ds max в свой формат данных. Теперь я делаю импортёр. Создаю для примера примитивную сцену 3 кубика (edit mesh`у всё это дело разумеется), далее кидаю на них текстуру. Делаю развёртку UVW и сохраняю в свой формат. Это по сути текстовый документ типа *OBJ форм. Вот что получилось:
На счёт фейсов поясню, там их по 6 в строке: первые 3 цифры в строке - это фейсы для постоения геометрии, вторые 3 цифры фейсы текстуры. Далее обратный процесс, я пытаюсь загрузить модель обратно в 3dsMax Вот скрин главной формы которую я сделал в роли интерфейса моего плагина.
Сцена состоящия из 3 кубов загрузилась, и когда я набрасываю туже текстуру. Текстуры нет... Далее илюстрирую все три этапа 1 Исходная сцена 2 Импортированная и 3 после набрасывания текстуры.
В чём проблема с кодом загрузки незнаю. Может текстурные фейсы не в той хронологии гружу? Привожу пример кода загрузчика ели интересно:
on btn9 pressed do ------------------------------------------------------------------------"Import Geometry" (
kol_verts = 0 kol_tverts = 0 kol_faces = 0
meshes = #() textures = #() kol_m = 0
local temp = #() local nama
vse_v = #() --- array of vertex vse_n = #() --- array of normal vse_f = #() --- array of faces vse_nf = #() --- array of normal faces vse_tv = #() --- texture vertex
if objFileName != undefined then ( currentPath = getFilenamePath objFileName objStream = openFile objFileName mode:"r" while not (eof objStream) do ( buf = (readLine objStream)
if (findstring buf "BEGIN_OBJECT") == 1 then ( kol_m = kol_m+1 meshes[kol_m] = substring buf 14 300 nama = substring buf 14 300 buf = (readLine objStream) textures[kol_m] = buf