Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум .:3DCenter.ru:. _ Maxscript _ Blender2max

Автор: ja_elektronic 04/10/2006, 11:55

итаг http://www.blender.org/cms/Home.2.0.html Полноценный Бесплатный 3D Пакет с весьма впечятляющими возможностями для такой "малютки".

кроме того имеющий собственный симулятор http://mediawiki.blender.org/index.php/Manual/PartX/Fluid_Simulation
Разработанный неким http://www.ntoken.de/p_fluid.html
собственно который и привлёк моё внимание больше всего.

Единственный насегодняшний день способ http://www.partiallyfrozen.com/scripts/Blender2MaxFluids.zipа этой жидкости
из блендера в виде секвенции *.Obj
а импортёр написан одним http://www.partiallyfrozen.com/pages/scripts.html.
Который работает примерно так ...
Вся неподъёмная секвенция Mesh-ей затягивается в один бедный максовский
файлик, который начинает весить около 200 мегов.
Так и ещё ко всему этому смена кадров-мэшей осуществляется с помощью Animate on ... Scale - а ,
из за чего Макс конечно виснет и часто падает.

Вобщем я как и предыдущие кто пытался это осуществить 1) http://3dcenter.ru/forum/index.php?showtopic=56361 и 2) http://3dcenter.ru/forum/index.php?showtopic=62152 способом.
Столкнулся со всеми теми же проблемами.
Сначало макс нехотел вообще работать с файлами такого размера,
потом проблемы при рендеренге, потом ещё куча всего.
Вобщем пришёл к выводу, что надо писать скриптовый объект...

но я этого не умею... cry.gif

Конечто Большая из мечт осуществить этот процесс,
так как это происходит в случае с http://www.nextlimit.com/realflow/
На диске валяется секвенция с жидкостью.
Макс подгружает её по мере необходимости.
Сама сцена пр-тически ни чего, не весит.
Все довольны и счастливы .

Вот такие пироги helpsmilie.gif

Автор: 1асс 04/10/2006, 14:47

Импортер тебе написать? Денег много у тебя smile.gif ?

Автор: ja_elektronic 04/10/2006, 18:35

QUOTE(1асс @ 04/10/2006, 15:47) [snapback]724563[/snapback]

Импортер тебе написать? Денег много у тебя smile.gif ?

да нет вобще-то это на благо человечства.

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

Автор: 1асс 04/10/2006, 18:48

Я готов за деньги сделать для человечества все, что в моих силах.
Пиши в личку сумму, которую тебе не жалко отдать на благо человечества и разбирайся с системой Web-money: www.owebmoney.ru

Автор: 111 05/10/2006, 01:18

smile.gif

пля, клоунада.
1acc, тебе что мало денег? дай хоть тут отдохнуть. не нужно 3дцентр превращать в торговую площадку.

Автор: 1асс 05/10/2006, 10:42

Я же не милостыню собираю.
А денег действительно мало. Я вообще очень бедный smile.gif
Пжалста, если есть альтруисты - флаг им в руки. А скрипты по чужим сценариям пишу обычно за деньги.

Кто напишет этот импортер бесплатно, прошу отметиться в теме.

З.Ы. По поводу торговой площадки. Ты поди в раздел макса и скажи там, что сделайте мне мол модель персонажа, такого-то с такой-то детализацией, ибо на благо человечества.

Автор: ja_elektronic 05/10/2006, 15:20

QUOTE(1асс @ 05/10/2006, 11:42) [snapback]725025[/snapback]

Я же не милостыню собираю.
А денег действительно мало. Я вообще очень бедный smile.gif
Пжалста, если есть альтруисты - флаг им в руки. А скрипты по чужим сценариям пишу обычно за деньги.

Кто напишет этот импортер бесплатно, прошу отметиться в теме.

З.Ы. По поводу торговой площадки. Ты поди в раздел макса и скажи там, что сделайте мне мол модель персонажа, такого-то с такой-то детализацией, ибо на благо человечества.


Полностью согласен

2: 1асс - такой вопрос, ты в Москве живёшь?
А то я этим затеям с вебманям не доверяю.
да и вобще прежде чем комуто кровно заработанные отдовать,
хотелось бы увидеть что всё работает своими глазами.

Автор: 1асс 05/10/2006, 15:39

Нет, не в Москве (и не в Питере). С вебмани проблем нет, все законно, ты мой второй "удаленный" клиент.

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

Автор: ja_elektronic 05/10/2006, 15:43

Смотри личку

Автор: 111 05/10/2006, 17:47

вот на то я и намекал - чтобы свои дела через личку решали.

2 всем умным капиталистам - в следующий раз как придёте сюда за враем ломаным или максом или с вопросами или просьбами о помощи, вспомните свои слова. если все начнут так жлобски вести себя здесь, то нашему сообществу - капец.

а с денежными просьбами ja_elektronic нужно было идти не сюда а на cgtalk.ru

надеюсь ясно выразил свои мысли.

Автор: 1асс 05/10/2006, 21:38

Не надо путать советы и ссылки на левый софт с программированием скриптов по чужим сценариям.

Зато флуд тут абсолютный бесплатный, как и везде smile.gif

Автор: ja_elektronic 10/10/2006, 18:11

Для чистоты эксперемента
выкладываю засетапленный блендеровский
проект с жидкостью

с подробными инструкциями

симуляцию
и экспорт сделаешь у себя.


1. Копируем скрипт для блендера - "BlenderFluidOBJExport.py"

[attachmentid=79887]

в папку "..Program Files\Blender Foundation\Blender\.blender\scripts"

(удаляем родной блендеровский скрипт из той-же папки - "obj_export.py")

2. Создаём на C: Папку "Temp" (Обязательно! точно в такой форме "C:\Temp")

3. Разворачиваем архив с проектом в "C:\Temp"

[attachmentid=79886]

4. Делаем симуляцию (как?... смотри картинку)

Изображение

5. Экспортим (как?... смотри следующую)

Изображение

Секвенция будет лежать сооте-цтно в "C:\Temp"

Затаскиваем в макс

вроде всё 53[1].gif

 Fluid.rar ( 34,02 килобайт ) : 102
 BlenderFluidOBJExport.rar ( 4,03 килобайт ) : 124
 

Автор: 1асс 10/10/2006, 21:41

во спс. деловой подход.

Автор: 1асс 11/10/2006, 11:47

Эх и глючный блендер. Рассказываю: версию скачал 2.42а
Сделал все, как ты сказал.

1. При копировании BlenderFluidOBJExport.py в папку скриптов и стирании obj_export.py экспортировать отказывается.
2. При изменении имени BlenderFluidOBJExport.py на obj_export.py вылетает с ошибкой.
3. Если оставить obj_export.py какой есть, то начинает экспортировать и вылетает на каком-то кадре, макс у меня 90 сделать успел. Некоторые файлы *.obj получаются нулевого размера.

Тем не менее, удалось-таки загрузить секвенцию в макс и отрендерить.
Пока принцип такой: загружаю, рендерю в файл, стираю.

files = getFiles ("C:\download\*.obj")
--print (f as string)
s=-1
for f in files do
(
s+=1
--print (f as string)
importFile f #noPrompt
$.wireColor=color 255 255 0 255
outfile="C:\\download\\test"+(s as string)+".jpg"
render outputfile: outfile
delete $
)

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

Автор: ja_elektronic 11/10/2006, 12:29

идея клёвая подгружать при рендеринге

но есть 2 очень серьёзных минуса
покадровый рендеринг означает
пляску GI теней в Vray
а это не есть хорошо

а кроме того не модификатор
на эту воду не наложишь
и дальнейшая анимация тоже невозможна
только навыходе из блендера.

Автор: 1асс 11/10/2006, 17:28

По поводу врея: это проблему можно решить например расчетом теней для прокси-объекта, а потом скрытия его? Или тебе от каждой капельки надо?

По поводу анимации: можно сделать кучу максовских файлов, в каждом будет сидеть один обж и рендерить их друг за дружкой (скриптом), а в свою анимацию можешь сам прикрутить в любой из них.

Автор: alex_g 11/10/2006, 19:26

QUOTE(ja_elektronic @ 04/10/2006, 12:55) [snapback]724436[/snapback]
покадровый рендеринг означаетпляску GI теней в Vrayа это не есть хорошо
точно ?, объясни причины в двух словах если не сложно, ни разу анимацию вреем не рендил.

1асс, твой скрипт с ТЗ не совпадает, тот же гемор
QUOTE
Вобщем пришёл к выводу, что надо писать скриптовый объект...

как я понял надо во время работы и рендеринга в максе подгружать мешь, а не хранить его в файле (как и было)
Конечно если это вообще реально.. , но невозможного не бывает smile.gif
1асс, что скажешь ?

Автор: 1асс 12/10/2006, 00:39

Скажу, что проблему можно разрулить по-разному. И предложенный вариант не единственный. Я жду ответа насчет первого пункта про врей.

Автор: ja_elektronic 12/10/2006, 14:12

to 1acc:

Не вполне понимаю чем тут может помочь прокси.
Если у нас ещё нет самого объекта откуда возьмётся прокси?
Если можно по подробней, что ты имел ввиду.

to alex_g:

Vray для Первичных отражений использует Ирадиенс мап
для анимации я обычно выставляю режим Multiframe incremental
который изменяет карту теней по мере небходимости

если рендерить в режиме Singl frame
Пляшут тени в углах

таже фигня c Light Cache
У него есть режим Singl frame и Fly-throught для анимации

Автор: 1асс 12/10/2006, 14:29

Все очень просто - для расчета теней будет использован не сам импортированный объект жидкости, а другой объект с таким же как у жидкости габаритным контейнером. Этот объект будет анимирован, для него будут подсчитаны тени, но на итоговой визуализации он будет скрыт (наложим материал Matte/Shadow или мб в вреее есть что-то подобное), а вместо него подсунем импортированную жидкость.

Автор: ja_elektronic 12/10/2006, 16:03

помоему морока это всё
я буду ковырять

"How To ... Create Scripted Geometry Plug-in"

"How To ... Read Geometry Data From Text File - Part One, Two"

там ключ ко всем проблемам 55[1].gif

Автор: 1асс 12/10/2006, 17:20

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

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

Автор: ja_elektronic 12/10/2006, 19:01

QUOTE(1асс @ 12/10/2006, 18:20) [snapback]729951[/snapback]

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


как раз там пример с "plugin simpleObject AntiStar"

я анимирую в нём количество элементов и всё работает прекрасно

в том числе при рендере

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

ну короче буду пробовать если чёнить нарою отпишу

Автор: Sp@rtak 12/10/2006, 19:13

2 All: А нафига стока гемороя? Если есть Glu3D и RealFlow.... или это какой-то особый случай извращения? Честно народ не могу понять в чем грабли wink.gif Вы бы еще через PFlow и блобы жидкость заделали smile.gif

Автор: 1асс 12/10/2006, 23:08

Ну я вообще-то надеюсь за это деньги получить...

ja_elektronic, хорошие новости. Твой способ работает. Удалось сделать все, кроме анимации. Тормозит конечно, меш строится у меня секунды 3, но это мелочи.

Автор: alex_g 12/10/2006, 23:27

Sp@rtak, жжош, ну дай людЯм поизвращаться smile.gif

автору удачи

1асс,
на чистом maxscript ?
3 секунды эт для одного кадра ?

Автор: 1асс 13/10/2006, 00:19

3 секунды строится меш во вьюпорте беря данные из текстового файла. Сам кадр строится поболее.

Сделал я короче анимацию. Щас идет тестовый рендеринг.

Автор: ja_elektronic 13/10/2006, 11:23

QUOTE(Sp@rtak @ 12/10/2006, 20:13) [snapback]730049[/snapback]

2 All: А нафига стока гемороя? Если есть Glu3D и RealFlow.... или это какой-то особый случай извращения? Честно народ не могу понять в чем грабли wink.gif Вы бы еще через PFlow и блобы жидкость заделали smile.gif



2 Sp@rtak: Дело в том что, этот некий Nils Thuerey который для Blender`a Флюидный движок писал.
такие алгоритмы взаимодействия веществ натворил, посравнению с которыми Nextlimit детский сад. Хочется чтобы его труды не пропали зря yes.gif

Автор: ja_elektronic 13/10/2006, 14:09

2 1асс : Ни чего страшного, что меш строится долго, его вообще можно схайдить у меня уже есть кусочек который будет во вью портах делать превью, главное что есть полноценный объект с анимацией.
Я просто ввосторге 38[1].gif

Автор: ja_elektronic 13/10/2006, 14:14

QUOTE(1асс @ 13/10/2006, 01:19) [snapback]730245[/snapback]

3 секунды строится меш во вьюпорте беря данные из текстового файла. Сам кадр строится поболее.

Сделал я короче анимацию. Щас идет тестовый рендеринг.



будет время, скинь тестовый рендер на Slil.ru
или мне на почту Saltofearth[сабака]gmail.com
Хочу глянуть.

Автор: 1асс 13/10/2006, 21:21

Насчет экспорта из блендера в обж был неправ - все удалось сделать без проблем по инструкции, правда на другом компе tongue.gif . Текстовые файлы, которые генерит скрипт, достигают 5 мегов, но обрабатываются влет, как ни странно.

Скриншот рендера:
[attachmentid=80167]

Авишник ушел на мыло.

 

Автор: ja_elektronic 15/10/2006, 00:31

QUOTE(1асс @ 13/10/2006, 22:21) [snapback]730993[/snapback]

Насчет экспорта из блендера в обж был неправ - все удалось сделать без проблем по инструкции, правда на другом компе tongue.gif . Текстовые файлы, которые генерит скрипт, достигают 5 мегов, но обрабатываются влет, как ни странно.


всё круто мне всё нравится
исключительно полезная утилитка получилась!

Респект cool.gif

На счёт бокса вокруг жидкости. это просто при экспорте из блендера
сэкспортировалась геометрия кубика в который жидкость падает.
Так что можешь оставить алгоритм без поправки на последние 8 вершин


Автор: 1асс 19/10/2006, 09:26

Импортер готов и его демо-версия ушла на мыло к заказчику smile.gif

В процессе установки защиты столкнулся вот с чем:
Если скриптом стирать визуализированные файлы, то в случае, когда их не задавать (не ставить галочку save file) - скрипт ничтоже сумняшеся сотрет все содержимое каталога, из которого был запущен, включая себя самого.

Автор: ja_elektronic 21/10/2006, 21:00

QUOTE(1асс @ 19/10/2006, 10:26) [snapback]735577[/snapback]

Импортер готов и его демо-версия ушла на мыло к заказчику smile.gif

В процессе установки защиты столкнулся вот с чем:
Если скриптом стирать визуализированные файлы, то в случае, когда их не задавать (не ставить галочку save file) - скрипт ничтоже сумняшеся сотрет все содержимое каталога, из которого был запущен, включая себя самого.

потестил
вот баги которые я нашёл

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

иногда рендерит вообще не те кадры на которых стоит слайдер

как-то странно обновляется геометрия.

2. неплохо былобы сделать чтонибудь типа кнопки Manual update для вьюпорта.
Чтобы геометря во вьюпорте обновлялась по нажатию кнопки

3. если несожно при конвертации в *.dat надо чтобы геометря разворачивалась на 180 градусов по X
и скейлилась на 100 (по всем осям)

4. ещё неплохо былобы чтобы на анимируемый параметр он-же File number
цеплялся контроллер Linear float

ну или как вариант
при конвертации тайм лайн укорачивается или удлинняется до чесла
имеющихся кадров и на File number цепляется контроллер Float Expression и внутри такая функция: floor(F)

Автор: 1асс 21/10/2006, 21:42

Все реально, на днях поправлю, добавлю и отправлю.

Автор: 1асс 24/10/2006, 21:49

Исправленная версия (учтены все пожелания) ушла к заказчику на тестирование.

Автор: ja_elektronic 25/10/2006, 13:47

QUOTE(1асс @ 24/10/2006, 22:49) [snapback]740066[/snapback]

Исправленная версия (учтены все пожелания) ушла к заказчику на тестирование.


Отвалилась анимация, не рендерит,
во вьюпорте геометрию не апдейтит

Значение File number исправляет с 0 на 1
но тем нимение при попытке с анимировать File number автоматически выставляет ключ 0-ом кадре со значением 1

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

переодически выдаёт сообщение
немогу использовать оператор "+" для Undifined

Предлагаю сделать так чтобы скрипт сам выставлял ключи анимации
по чеслу имеющихся кадров
хотя лучьше наверно будет не ключами а Expression Controller c функцией "floor(F)"




Автор: 1асс 25/10/2006, 17:54

Кнопка Manual Update апдейтит сцену в соответствии с текущим кадром. Дави автокей, жми мануал апдейт на первом кадре, потом на последнем, отключай автокей. вот и усе.

Автор: ja_elektronic 25/10/2006, 17:58

QUOTE(1асс @ 25/10/2006, 18:54) [snapback]740723[/snapback]

Кнопка Manual Update апдейтит сцену в соответствии с текущим кадром. Дави автокей, жми мануал апдейт на первом кадре, потом на последнем, отключай автокей. вот и усе.


так и сделал, неработает

поставил в 1 и в 100

потом попробовал в 1 и 249

тоже самое

Автор: 1асс 25/10/2006, 18:09

Да, ты прав. щас буду ковырять. не отключайся надолго.

Автор: 1асс 25/10/2006, 18:47

ушло

Автор: ja_elektronic 25/10/2006, 19:05

Смотрю

Автор: ja_elektronic 26/10/2006, 11:01

Во вью порте всё работает
с кнопкой тоже всё отлично.

Render - рендерит один и тот же кадр
без анимации.

Автор: 1асс 26/10/2006, 11:11

Надо анимировать объект, а потом запускать на рендер.

Автор: ja_elektronic 26/10/2006, 11:17

QUOTE(1асс @ 26/10/2006, 12:11) [snapback]741312[/snapback]

Надо анимировать объект, а потом запускать на рендер.



всё чётко
Объект анимирован.
ключи в 1 и в 249 кадре
поставлены путём нажатия кнопки "Manual update" при нажатой кнопке "Auto key"

Render - один и тот же кадр

Автор: 1асс 26/10/2006, 11:43

Хм, никак не пойму в каких случаях такое происходит (но происходит я тоже заметил).

Запусти еще раз и делай в такой последовательности:
1. Перейди на кадр 1
2. Щелкни кнопку, укажи дат-файлы
3. Создай объект
4. Нажми Animate
5. Нажми Manual Update
6. Перейди на последний кадр.
7. Щелкни Manual Update.
8. Щелкни рендер и укажи range от 1 до последнего.

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

Автор: ja_elektronic 26/10/2006, 12:07

QUOTE(1асс @ 26/10/2006, 12:43) [snapback]741340[/snapback]

Хм, никак не пойму в каких случаях такое происходит (но происходит я тоже заметил).

Запусти еще раз и делай в такой последовательности:
1. Перейди на кадр 1
2. Щелкни кнопку, укажи дат-файлы
3. Создай объект
4. Нажми Animate
5. Нажми Manual Update
6. Перейди на последний кадр.
7. Щелкни Manual Update.
8. Щелкни рендер и укажи range от 1 до последнего.

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

всё сделал по инструкции
листнер про подгружаемые меши ни чего не сказал
рендер тоже самое

Автор: 1асс 26/10/2006, 12:25

А у меня все работает. Ладно до вечера, я посмотрю что там и как, и почему колбек у тебя не фурычит. Щас на работу уехал.

Автор: 1асс 26/10/2006, 12:32

Просто запусти скрипт еще раз через Run Script. С первого раза он не работает(у меня по крайней мере, дальше все тип-топ).

Автор: ja_elektronic 26/10/2006, 12:39

QUOTE(1асс @ 26/10/2006, 13:32) [snapback]741410[/snapback]

Просто запусти скрипт еще раз через Run Script. С первого раза он не работает(у меня по крайней мере, дальше все тип-топ).


удивительно работает именно со второго запуска yes.gif

Автор: ja_elektronic 30/10/2006, 18:21

Я всё протестил
в принципе всё нормально.

Надо только сделать:

1. Чтобы скрипт работал с 1-го запуска

2. Починить пререндер кэлбэк .. чтобы апдейтилась
геометрия перед посылом на рендер
т.к. сейчас приходится вручную делать Update
или он рендерит два кадра с предидущим состоянием геометрии

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

Деньги будут 2 Октября.



Автор: 1асс 30/10/2006, 18:53

Нормальная версия скрипта будет плагином (как и пример из хелпа, на который ты сослался), все пожелания учту и пришлю норм версию после оплаты. Пожизненная гарантия, если будут проблемы - исправлю smile.gif

Автор: 1асс 30/11/2006, 18:17

Автор темы пропал было на месяц, но появился 28.11.06.
Электроник, не молчи.

Автор: 1асс 22/01/2007, 01:19

Все тип-топ, заказчик расплатился и теперь обладает полнофункциональной версией. Ежели кому-то еще нужен этот скрипт - с согласия Электроника могу выложить его для всех. Или он сам выложит.

Автор: ja_elektronic 22/01/2007, 09:33


Согласен smile.gif

Автор: ja_elektronic 25/02/2007, 12:25

Собственно вот он

 Blender2max_Fluid.rar ( 11,19 килобайт ) : 386
 

Автор: vitsly 26/02/2007, 11:06

серег, ты крут smile.gif дожал

Автор: JVgfx 02/04/2007, 17:32

мне хоть блендер и не интересен (пока), но респект обоим! главное до ума довели и не бросили

Форум Invision Power Board (http://nulled.cc)
© Invision Power Services (http://nulled.cc)