Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Игры";
Текущий архив: 2006.12.31;
Скачать: [xml.tar.bz2];

Вниз

Динамически создаваемые FreeForm.   Найти похожие ветки 

 
Fenix ©   (2006-02-20 18:09) [0]

Доброе время суток.
Я сейчас разрабатываю проект. Работаю с GLScene. Мне нужно создать динамические FreeForm, притом с различными именами...
Я пишу:
var
FreeForm:array [1..100] of TFreeForm;
......
Это в обработчике кнопки:
freeform[i]:=TFreeForm.Create(form1);
with freeform[i] do begin
NameObj:="FreeForm"+inttostr(i);
Name:=NameObj;
loadfromfile("textyres/ball.3ds");
.......
Вся проблема в том, что обьект не виден, хотя вроде создаеться. Если создаю динамически обьект, то в програме загрузка 3д обьекта идет.
Кто знает в чем у меня ошибка прошу сказать! Оч надо. Заранее спасибо.


 
Fosgen   (2006-02-21 11:05) [1]

Епрст... Ды кто ж создает фриформ как дочерний объект к ФОРМЕ? Ты ж его должен в СЦЕНЕ создавать! Загляни в Scene Editor - правой кнопкой на компоненте GLScene, что на форме...


 
Fosgen   (2006-02-21 11:10) [2]

Пример:

freeform[i] := TFreeForm(GLScene1.Objects.AddNewChild(TFreeForm));


 
Fenix ©   (2006-02-21 14:42) [3]

Fosgen огромное спасибо!!! у меня теперь все заработало.


 
Fenix ©   (2006-02-21 15:35) [4]

Хм... возникла теперь другая проблемка (
Как сделать так, что бы эта FreeForm создавалась в DummyCube? Просто с 3д макса обьекты боком подгружаються. Хотя можно менять каждому, но было бы удобнее что бы они подгружались в DummyCube и менять угол поворота только у него.


 
Домовенок ©   (2006-02-22 01:45) [5]

Вроде так:

MyFreeForm := TGLFreeForm(GLDummyCube1.AddNewChild(TGLFreeForm));


 
dr.mas ©   (2006-02-22 06:43) [6]

Блин а где можено откапать уроки или хелпинг на русском для GLScene?


 
Домовенок ©   (2006-02-22 12:41) [7]

http://www.glscene.ru/


 
Fenix ©   (2006-02-22 13:18) [8]

Домовенок спасибо за пример.
Но мне еще интересно с тексстурами... Просто насколько я понимаю в GLScene накладываються текстуры на каждую часть обьекта отдельно... Следовательно прийдеться не одну FreeForm создавать, а DummyCube и в него уже подгружать отдельные части обьекта и уже на них накладывать текстуры. Или посоветуйте как будет удобнее нанесьти текстуру, на сожный обьект. (например на стул, но что бы сам был деревянный, а сидушка была черная)


 
Домовенок ©   (2006-02-22 13:33) [9]

Текстура на сложный объект накладывается в 3DMax или в Maya, смотря, в чем создается объект. В таких редакторах можно на отдельный полигон натянуть отдельный кусочек текстуры. Считается правильным для одного объекта использовать одну текстуру. То есть если смотреть, к примеру, модели для того же Half-Life или Quake, то на модель человека или монстра идет всего одна текстура (!). Нет такого, что объект собирается из разных кусочков. Не считая таких случаев как, к примеру, танк, где башня и само основание будет правильно сделать отдельными объектами, или автомобиль, где колеса и кузов будут отдельными объектами... так же можно привести пример и монстра где тело и оружие будут разными объектами. В редких случаях (у профи) есть тело солдата, к примеру, и оно обвешано отдельными объектами такими как: саперская лопата, винтовка, рюкзак, гранаты и т.п.

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


 
Домовенок ©   (2006-02-22 13:37) [10]

В дополнение:

Стул - это не сложный объект, и собирать его из разных кусочков просто не рационально!

Модификатор позволяющий оттекстурить модель в 3DMax называется "Unwrap UVW".


 
Fenix ©   (2006-02-22 14:01) [11]

Я работаю с 3d max"ом. Еще правда не искал как накладывать в нем текстуры. Если я правильно себе представляю, то я в 3д максе налажу на отдельные части разные текстуры, а потом сохраню их се в одну и потом уже в GLScene натяну сразу на весь обьект?
И если можешь дай плз ссылку, где понятным языком написано как текстуры в 3д максе накладывать.


 
Fenix ©   (2006-02-22 14:03) [12]

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


 
Домовенок ©   (2006-02-22 23:29) [13]

> Если я правильно себе представляю, то я в 3д максе налажу на
> отдельные части разные текстуры, а потом сохраню их се в одну и потом
> уже в GLScene натяну сразу на весь обьект?


Нет, ты не правильно себе представляешь. В начале создается объект, потом рисуется текстура и модель текстурится. Профессионалы создают модели не из готовых примитивов (в основном это касается моделей людей монстров и т.п.), а из кубика. То есть создается кубик и далее как из пластилина из него вытягивается постепенно детали: руки, ноги, голова и т.п. После того как модель готова, для нее рисуется текстура, накладывается через MapEditor на модель и потом на вкладке модификаторы выбирается модификатор "Unwrap UVW", после того как модификатор выбран, на панели инструментов справа есть различные кнопочки, нажимаешь Edit и открывается редактор, в котором на заднем плане текстура натянутая ранее и непонятные полосы, там, в меню нужно по выбирать различные раскройки. Раскройка - это как бы модель в разобранном виде. К примеру если такую раскройку распечатать на бумаге, то можно из этой раскройки собрать бумажную модель :). Далее в ручную нужно эту раскройку правильно расположить на текстуре, чтобы отрисованные детали встали на свое место.

К сожалению, где можно про это почитать, я не знаю. На самом деле это довольно сложный технический процесс, требующий терпения и внимательности.


 
Fenix ©   (2006-02-23 10:09) [14]

Огромное тебе спасибо что написал алгоритм. А статейки не надо вроде все понятно :).
Допустим я из кубика создам человека, но как мне сделать что бы он двигался? Просто я знаю можно делать привязки, если собирать из отдельных частей. А тут получаетья обьект цельный. И еще как я пониаю тестуру надо рисовать сразу в развернутом виде, а потом просто обварачивать обьект, но тогда будет достаточно сложно нарисовать ее допустим в том же фотошопе, что бы были выдержаны все размеры и изгибы. Или есть специальные проги для создания текстур.

Поздравляю всех с 23 февраля!!!!!


 
Домовенок ©   (2006-02-23 17:13) [15]

> Fenix ©   (23.02.06 10:09) [14]
> Допустим я из кубика создам человека, но как мне сделать что бы он двигался?

Для этого есть специальный плагин в 3DSMax, назывется Character Studio, в нем из простой цельной модели создается анимация...

> И еще как я пониаю тестуру надо рисовать сразу в развернутом виде, а
> потом просто обварачивать обьект, но тогда будет достаточно сложно
> нарисовать ее допустим в том же фотошопе, что бы были выдержаны все
> размеры и изгибы.


А ты как думал? :) Это все очень непростой и трудоемкий процесс, не зря же существуют такие направления специальностей как: low-poly моделлер, художник по текстурам, текстурщик и т.п. :) В целом со всем этим может справится и один человек, если объем работ небольшой.


 
Fenix ©   (2006-02-23 18:07) [16]

С анимацией я более менее разобрался. Буду делать костную, как только объект человека достану... А вот с текстурами прийдеться помучиться :)


 
Fosgen   (2006-02-28 01:11) [17]

Э-э-э, хватит чела парить...
На самом деле совсем необязательно все модели "вытягивать" из кубика. Есть еще такие инструменты как лофтинг, булевские операции и не только они. А с текстурой все по-другому обстоит. Видимо Домовенок о такой вещи как "развертка" понятия не имеет. А текстура вообще-то по развертке рисуется. Развертка же получается через модификатор UnwrapUV. Там в редакторе производят раскладку на площади будущей текстуры, а потом - полученную картинку разложенных полигонов портируют в какой-нить Photoshop, где и рисуют текстуру. А уже готовую - применяют к объекту. Объект же в совю очередь может собираться из кучи отдельных деталей, но все они в конце концов (до развертки) должный быть собраны в единый меш.
В общем Fenix, я те на мыло доку по МАКСу сбросил - на русском и наиболее подробную что я встречал. Тебе за маппингом в соответствующий раздел доки. Правда думаю тебе все предыдущие разделы тоже не мешает прочесть. Потому как для нормального текстурирования моделей они должны быть сделаны с соблюдением некоторых условий... В общем - изучай, и не отвлекай людей по пустякам. А то - азов моделлинга не знаешь, а уже анимацией моделей заниматься...
Кстати, анимация очень нплохо и без Character Studio делается. CS - плагин не более. А в самом МАКСе есть неслабые инструменты по инверсной и прямой кинематике. Которой в принципе достаточно для анимации сложных объектов. Только в свою прогу ты ее не перенесешь. Формат 3ds не предполагает анимированных объектов, а формат MAX - является коммерческим и окромя МАКСа никто его не поддерживает.


 
Домовенок ©   (2006-02-28 09:06) [18]

> На самом деле совсем необязательно все модели "вытягивать" из кубика.

Согласен, не обязательно. Но что-то я не видел качественных low-poly моделей состоящих из различных деталей. В туториалах по low-poly всегда рекомендуют начинать с кубика, много примеров тому видел. И потом, создавая модели, используя различные фичи типа Лофтинга, получаются лишние полигоны, а иногда коряво вырезаются, и результат порой совсем не такой как хотелось бы. В общем, модель с нуля - это считается качественной моделью, так как ты с самого начала ведешь всю работу и следишь за количеством полигонов на каждой модели. Если бы ты работал в серьезном геймдеве, то знал бы что при разработке любой 3д игры на каждого персонажа отводится определенное количество полигонов, например, будь это RTS то на каждого юнита, кпримеру ограничение по 100 полигонов, лепя модель из различных деталей будет сложно следить за тем, где у тебя не нужные полигоны, а где их не хватает... в общем, метод моделирования сводится лишь к профессионализму моделльра.

> Видимо Домовенок о такой вещи как "развертка" понятия не имеет.

Видимо Fosgen, нефига не читал моих постов, если бы читал, то наверняка заметил бы, что я писал о модификаторе UnwrapUV. Метод текстурирования (последовательность шагов от рисования текстуры до её натягивания) зависит только от сообразительности моделлера и его опыта. Так как ты говоришь - я текстурировал свою первую модель, делал развертку, копировал в PhotoShop, рисовал текстуру... эта была первая, и последняя модель для которой я так делал текстуру. Проще и удобнее вначале нарисовать текстуру, а потом натянуть её на модель, т.к. макс автоматом делает очень дурацкие развертки, тем более, если модель сложная. Часто приходится развертку дробить в кусочки и потом их последовательно склеивать, чтобы получилось именно так как надо... в общем, все дело в опыте.

> Формат 3ds не предполагает анимированных объектов, а формат MAX - является коммерческим и окромя МАКСа никто его не поддерживает.

Про форматы я тебе написал в соседнем топике... Про 3ds и max вообще стоит забыть.


 
Fenix ©   (2006-02-28 14:52) [19]


> Fosgen

Спасибо тебе за инфу по 3д максу буду изучать....


 
Fosgen   (2006-02-28 21:10) [20]

2 Домовенок:
используя различные фичи типа Лофтинга, получаются лишние полигоны

Это очень крутое замечание... Видно что человек "много" работал в "профессиональном геймдеве"... Оказывается создание моделей через лофтинг - не создание модели "с нуля"... Однако. Сам-то хоть понял что написал?
Насчет ограничения по полигональности - если для тебя сложно следить за своей собственной моделью и количеством полигонов в ней - это именно показатель твоего профессионализма...

эта была первая, и последняя модель для которой я так делал текстуру - а вообще много делал-то? И сколько времени в МАКСе работаешь, если не секрет(и не страшно признаться)?

макс автоматом делает очень дурацкие развертки - это не МАКС, это руки. Какие руки - такие и развертки... И нечего на софт валить собственное неумение.


 
Домовенок ©   (2006-03-01 19:29) [21]

> Это очень крутое замечание... Видно что человек "много" работал в
> "профессиональном геймдеве"...


В моих случаях при работе с лофтингом возникали не приятные моменты... Особенно в тех случаях, когда модель экспортировалась в md2, проблема заключалась в том, что md2 имеет свое сглаживание, на которое никак не повлиять из макса, и возле дырок созданных лофтингом образовывалось неприятные затемнения.

> Насчет ограничения по полигональности - если для тебя сложно следить
> за своей собственной моделью и количеством полигонов в ней - это именно
> показатель твоего профессионализма...


Я что-то не пойму, ты, что создаешь кубик и из него при помощи лофтинга вытесываешь кусочками модель??

> а вообще много делал-то? И сколько времени в МАКСе работаешь, если
> не секрет(и не страшно признаться)?


Это что наезд? Сделал достаточно. В максе провожу меньше времени, чем за Delphi, однозначно... Мой знакомый в основном из макса не вылазит и занимается всеми моделями и их анимацией.

> это не МАКС, это руки. Какие руки - такие и развертки... И нечего на
> софт валить собственное неумение.


Епт... Сделай модель полигонов в 300-600, к примеру, модель человека, и попробуй сделать так чтобы макс автоматом сделал качественную развертку, так как тебе надо... Ты же ему не можешь объяснить как тебе надо... В списке всего несколько типов разверток, сверху, сбоку, кубик и т.п. соответственно порой он такое городит, что приходится потом монтировать её так как тебе надо. А если модель в пару десятков полигонов, то конечно все в 30-60 раз проще.

Вообще что ты тут спор развел? Если у тебя все тип-топ, нафига что-то кому-то доказывать? Или надо самооценку поднять!? Меня лично все устраивает и в максе и в CS и в экспорте черз плагин. Если у тебя отлично получается моделить лофтингом, устраивают максовские развертки по дефолту, анимирование моделей через ИК, и экспортирование через 3ds, ну и флаг тебе в руки :) ...


 
Fosgen   (2006-03-01 20:31) [22]

Начать с того что доказывать начал не я. Я просто попытался "разгрузить" спрашивавшего и направить его на освоение стандартных и проверенных методик. А некоторые начали ведь их хаять... А без освоения стандартного набора инструментов - верняк не стоит хвататься за плагины и другие прибамбасы.
Вот ты - кроме умных речей о том как из кубика делать модель человека - чем реально челу помог? Ни одной ссылки на статью по моделированию, ни одной доки, одни умничанья...
Мне очень интересно - как человек будет делать РАЗВЕРТКУ, по заранее нарисованной текстуре... Бред, не правда ли? Зачем развертка-то делается, а? Вот уж кто через задний проход моделлит...
Если уж ВАША "творческая группа" научилась самостоятельно таким мазохизмом заниматься - ее право. А людей стоит учить более проверенным и общепринятым технологиям. А профессионалы все-таки советуют (и сами так делают) рисовать текстуру ПО РАЗВЕРТКЕ. А никак не наоборот. Если найдешь противоположный пример - дай мне знать.
А пока почитай: http://www.igromania.ru/articles/?80_Ut_2003_model_2#top


 
Домовенок ©   (2006-03-02 01:02) [23]

> Начать с того что доказывать начал не я.

Хе...
А кто написал, что CS фигня, не пользуйте его, потому что он такой сякой? Кто начал писать, что я не правильно делаю развертки и текстуры? :)

> Я просто попытался "разгрузить" спрашивавшего и направить его на
> освоение стандартных и проверенных методик.


А я ему сразу написал все как есть, чтобы жизнь раем не казалась, и потом неожиданных открытий не было...

> А без освоения стандартного набора инструментов - верняк не стоит
> хвататься за плагины и другие прибамбасы.


Что есть в твоем понимании стандартный набор инструментов? Экспорт анимации в нужный формат через 3ds? Или анимирование через ИК?

> Вот ты - кроме умных речей о том как из кубика делать модель человека
> - чем реально челу помог?


Перечитай эту ветку внимательно...

> Мне очень интересно - как человек будет делать РАЗВЕРТКУ, по заранее
> нарисованной текстуре... Бред, не правда ли?


Вообще то, я считаю, что развертка делается не по текстуре, а с модели. А потом уже развертка накладывается на текстуру. Или я не прав? :)

> Зачем развертка-то делается, а?

А ты думаешь, только для того, чтобы рисовать по ней потом текстуру? :)
А ты знаешь, что развертку можно кроить, так как тебе надо, и служит она не для упрощения рисования текстуры (впрочем, кто не может рисовать текстуры без развертки, можно и для этого её использовать), а для того чтобы правильно наложить плоскую текстуру на 3д объект. Что делать первым, развертку или рисовать текстуру - это уже дело каждого. И не надо мне говорить, что я не прав только потому, что рисую текстуры до того как делаю развертку.

> А людей стоит учить более проверенным и общепринятым технологиям.

Твои методы считаются проверенными и общепринятыми?

Думаю этот флэйм далее продолжать бесполезно... Уже давно понятно, что два упертых козла столкнулись рогами, и у каждого свои тараканы в голове. Я дал свои рекомендации, ты свои, на этом и закончим.



Страницы: 1 вся ветка

Форум: "Игры";
Текущий архив: 2006.12.31;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.55 MB
Время: 0.043 c
3-1161036521
БогданБ
2006-10-17 02:08
2006.12.31
Как указатель строки DBGridEh SQL запроса сопоставить с базой.


15-1165867511
Handle
2006-12-11 23:05
2006.12.31
TrayBar


11-1142413898
ElDev
2006-03-15 12:11
2006.12.31
Проблемы с KOLmdvToolTip!


2-1165772153
lobach
2006-12-10 20:35
2006.12.31
Как отследить запуск приложения?


15-1165577292
ocean
2006-12-08 14:28
2006.12.31
Запись звука с линейного выхода





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский