Требования к моделям и текстурам.

1 2 Next>>

Автор Сообщение

мастер
Группа: Участники
Сообщений: 115
Добавлено: 02-09-2009 17:31
Какие требования к ним предъявляются? например если я создаю дом с несколькими тайловыми текстурами, то как мне их присваивать полигонам? Можно каждой группе присвоить просто свою стандартную тайловую текстуру, а можно сразу всему дому назначить текстуру Multi/sub-Objeck(это в максе) как правильно? или как нагрузка меньше ли нету ни какой разницы?

Big Boss
Группа: Администраторы
Сообщений: 719
Добавлено: 02-09-2009 17:53
Думаю, особой разницы нет. Правда, я в Максе ноль, поясни, пожалуйста, Multi/sub-Object - это как?

мастер
Группа: Участники
Сообщений: 115
Добавлено: 02-09-2009 18:21
ну это когда текстур много, можно взять одну главную-Multi/sub-Object назначить её одному объекту например дому. и уже в нем назначить нужное количество текстур и назначить каждую текстуру нужным полигонм/элементам дома. По сути он просто разгружает редактор материалов.

Big Boss
Группа: Администраторы
Сообщений: 719
Добавлено: 02-09-2009 18:31
Хмм... Ну если при экспорте он разобъет модель на фейсгруппы с этими текстурами, тогда никаких проблем. Тогда, наверное, имеет значение в какой формат экспортить.

мастер
Группа: Участники
Сообщений: 115
Добавлено: 03-09-2009 10:46
интересно а в какой формат надо экспортировать? попробовал в obj. нифига не разбил. так же попробовал саму модель разбить на группы, то есть отедлить от дома стены, крышу... не помогло.

Big Boss
Группа: Администраторы
Сообщений: 719
Добавлено: 03-09-2009 11:43
Может, 3DS попробовать?

мастер
Группа: Участники
Сообщений: 115
Добавлено: 03-09-2009 13:34
Попробовал в 3DS, попробовал ручками в редакторе отсоединить от дома части с разыми материалами, но разницы нету.
Возможно проблема в том, что я в самом коде задаю какую(точнее какие) текстуры для данной модели надо грузить? Опять же если не прописывать какую текстуру для дома грузить, то движок и не будет грузить текстуры.

мастер
Группа: Участники
Сообщений: 115
Добавлено: 03-09-2009 14:42
ну в общем я сделал развертку дома на другом канале(я дом изначально делал в максе) и отрендерил развертку в текстуру. И получил одну нормальную текстуру для дома. вот он и текстура:

дом+текстура

но получилось качество заметно хуже чем хотелось. впрочем я отрендерил текстуру в размер 2048х2048, и качество вроде приемлемое, но весит она 18 метров в формате png, в jpg конечно меньше.

мастер
Группа: Участники
Сообщений: 115
Добавлено: 03-09-2009 19:08
Gecko, вот поспрашивал где в блендере аналог мультиматериала.


в общем получается у одной модели несколько материалов, и отсюда вопрос: как эту модель экспортировать и импортировать в движок?

мастер
Группа: Участники
Сообщений: 115
Добавлено: 03-09-2009 19:20
гы...нашел ответ... прости Gecko за лишнюю темку. Может есть возможность её удалить?

P.S. я тут модельку выложил, может есть возможность(смысл) создать раздел с моделями?

Ответственный за CHM
Группа: Модераторы
Сообщений: 346
Добавлено: 03-09-2009 19:43
прости Gecko за лишнюю темку

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

Big Boss
Группа: Администраторы
Сообщений: 719
Добавлено: 03-09-2009 20:22
может есть возможность(смысл) создать раздел с моделями?

На сайте или на форуме?

мастер
Группа: Участники
Сообщений: 115
Добавлено: 03-09-2009 20:58
ну это уже вам решать

мастер
Группа: Участники
Сообщений: 115
Добавлено: 12-09-2009 07:50

Проверил ответ в этой теме . Там не то что мне нужно, то есть там на одну модель накладывается одна текстура, затем ещё одна, затем.... но только она накладывается на те же самые полигоны.

Мне требуется: рассмотрим дом.
На крышу я накладываю один материла, на стены второй, на окна третий. на оконный проем четвертый... и так далее. Это возможно?

Big Boss
Группа: Администраторы
Сообщений: 719
Добавлено: 14-09-2009 11:47
Ты имеешь в виду наложение отдельных материалов на отдельные фейсгруппы модели? Так это в X3D делается автоматом. Просто указываешь в MaterialLibrarySetTexturePaths путь, где лежат текстуры, и грузишь freeform.
Посмотри официальные примеры, там это есть. Если надо, приведу код.

мастер
Группа: Участники
Сообщений: 115
Добавлено: 14-09-2009 15:30
Именно. Замечательно, однако все равно стоит узнать как сделать потом новую развертку дома и отрендерить по ней единую текстуру для дома.
Скрипт не помешает

Ответственный за CHM
Группа: Модераторы
Сообщений: 346
Добавлено: 17-09-2009 20:45
MaterialLibrarySetTexturePaths
real = MaterialLibrarySetTexturePaths( matlib as real, path as string );
Указывает библиотеке, откуда по умолчанию загружать текстуры при загрузке модели, содержащей данные о текстурах.
matlib - id библиотеки материалов
path - путь к текстурам.

P.S Если тебе нужно "поднять" тему, то именно в данном случае, нужно было повторить вопрос или сформулировать его иначе, а не писать up и ставить смайлик...

мастер
Группа: Участники
Сообщений: 115
Добавлено: 17-09-2009 21:05
Hacker это я в справке нашел, вот только не могу понять, там ещё какие-то строчки нужны или нет. У меня не запускается уровень, пишет "неизвестная ошибка"(вольный перевод).

про "UP" учту.

Ответственный за CHM
Группа: Модераторы
Сообщений: 346
Добавлено: 17-09-2009 21:24
Так так бы и писал)))
matlib:=MaterialLibraryCreate();
MaterialLibraryActivate(matlib);
MaterialLibrarySetTexturePaths(matlib,'data');
Где data - название папки))

мастер
Группа: Участники
Сообщений: 115
Добавлено: 18-09-2009 07:52
программист из меня плохой, когда-то в школе(11 лет назад) изучал бейсик и немного паскаль, потом в универе ещё год на бейсик. Правда во втором случае просто просил у друга код, ну и менял чуток что бы не спалили.
В связи с этим проблема: как должны со читаться функции.
Спасибо за приведённый код, возможно вечером выложу небольшую локацию.

мастер
Группа: Участники
Сообщений: 115
Добавлено: 18-09-2009 09:44
не получается. пробовал модели форматов 3ds и obj, открывал данные модели в других 3D макетах- материал назначался нормально, то есть указывал путь к папке с материалами и в программах модель была с наложенной текстурой.
А как правильно назначать материал объекту в данном случае?

мастер
Группа: Участники
Сообщений: 115
Добавлено: 19-09-2009 16:41
дак в чем может быть проблема? Понимаю что самая главная- недостаток знаний, навыков...

Big Boss
Группа: Администраторы
Сообщений: 719
Добавлено: 19-09-2009 18:18
Выкладывай модель (3ds), приводи свой код загрузки. Иначе помочь никак не смогу. Потому что модели у всех разные, грузятся не всегда одинаково хорошо (иногда вообще не грузятся).

мастер
Группа: Участники
Сообщений: 115
Добавлено: 20-09-2009 08:30
Дом+Текстуры

mesh=FreeformCreate('DATA/OBJECT/dom1.obj',global.scene);
ObjectSetMaterial(mesh,'mnormal');
ObjectPitch(mesh,90);
ObjectSetScale(mesh,10,10,10);
ObjectSetPosition(mesh,0,0,0);
ObjectRotate(mesh,0,0,0);

matlib=MaterialLibraryCreate();
MaterialLibraryActivate(matlib);
MaterialLibrarySetTexturePaths(matlib,'data/textures');
ObjectSetMaterial(mesh,'matlib');

Ещё вопрос вдогонку: имеет ли значение в таком варианте кода(или подхода если код не верен) расширение файлов текстур? То есть если на дом в блендере я натянул текстуры PNG а в папке они лежат в формате JPEG.

Big Boss
Группа: Администраторы
Сообщений: 719
Добавлено: 20-09-2009 08:41
Так, пока скачивается модель, выскажусь относительно кода.
Во-первых, что за материал 'mnormal' назначается модели? Если надо, чтобы текстуры для фейсгрупп грузились автоматически, этого делать не нужно.

Во-вторых, почему matlib создается ПОСЛЕ создания объекта, когда надо ДО? Дело в том, что при загрузке модели с текстурами все материалы грузятся в текущую активную библиотеку. А куда они будут грузится, если библиотека еще не создана?

В третьих, зачем ObjectSetMaterial(mesh,'matlib') ?
matlib - это не материал, а библиотека, применить к объекту ее нельзя.

Короче, для начала попробуй такой код:

matlib=MaterialLibraryCreate();
MaterialLibraryActivate(matlib);
MaterialLibrarySetTexturePaths(matlib,'data/textures');

mesh=FreeformCreate('DATA/OBJECT/dom1.3ds',global.scene);
ObjectPitch(mesh,90);
ObjectSetScale(mesh,10,10,10);
ObjectSetPosition(mesh,0,0,0);
ObjectRotate(mesh,0,0,0);

Big Boss
Группа: Администраторы
Сообщений: 719
Добавлено: 20-09-2009 09:09
Ты же модель в оbj выложил! А оbj данные о текстурах сохраняет в отдельном файле (*.mtl или *.mlb, не помню точно). Так что давай 3ds. Но сначала сам его попробуй загрузить, как я написал.

мастер
Группа: Участники
Сообщений: 115
Добавлено: 20-09-2009 10:11
за архив извиняюсь, не тот выложил. весит 1 метр, уменьшен вес текстур и модель в формате 3ds сейчас попробую модель загрузить с твоим кодом.

Big Boss
Группа: Администраторы
Сообщений: 719
Добавлено: 20-09-2009 10:46
имеет ли значение в таком варианте кода(или подхода если код не верен) расширение файлов текстур? То есть если на дом в блендере я натянул текстуры PNG а в папке они лежат в формате JPEG.

Конечно имеет. В этом-то и вся проблема. Материалы в модели ссылаются на файлы

wood_19.bmp
roof_22.png
surface_12.p
WoodFine.bmp
tile_17.bmp
windows_29.p
tile_02.bmp
surface_04.p

которых нет, так как ты сконвертировал все в JPG. Ты уж разберись с этим. Выложи вариант модели, которая использует JPG.

мастер
Группа: Участники
Сообщений: 115
Добавлено: 20-09-2009 10:50
проверил, работает, только я похоже где-то в блендере с материалами перемудрил. Вообще не понравился мне что-то его редактор материалов...

мастер
Группа: Участники
Сообщений: 115
Добавлено: 20-09-2009 11:32
проверил на другом доме(на который давал видео) все нормально отображается, ну если не считать что группы сглаживания слетели при экспорте.

мастер
Группа: Участники
Сообщений: 115
Добавлено: 24-09-2009 16:20
Материалы в модели ссылаются на файлы

wood_19.bmp
roof_22.png
surface_12.p
WoodFine.bmp
tile_17.bmp
windows_29.p
tile_02.bmp
surface_04.p



а как ты это проверил? просто открыл в каком-то 3D пакете?

Big Boss
Группа: Администраторы
Сообщений: 719
Добавлено: 24-09-2009 17:00
Открыл в Anim8tor'е.

 

Offtop.ru © 2003