3DCenter.ru

Здравствуйте, гость ( Вход | Регистрация )

4 страниц V  < 1 2 3 4 >  
Reply to this topicStart new topic
> FAQ по MaxSDK, Архитектура, понятия, методы, примеры и т.д.
-=VG=-
сообщение 30/10/2009, 16:11
Сообщение #16


Мастер
Иконка группы

Группа: Участник
Сообщений: 1 431
Регистрация: 09/11/2004
Из: SPb
Пользователь №: 8 229



2 Madias
По поводу визарта. Он там какие-то html или java скрипты использует в своем диалоге. Точно не скажу - но windows частенько их блокирует. Поищи в интернете я там нашел ответ. Сделал и забыл сам.
Go to the top of the page
 
+Quote Post
Lastjedi
сообщение 30/10/2009, 19:52
Сообщение #17


Учитель
Иконка группы

Группа: Участник
Сообщений: 322
Регистрация: 18/06/2002
Из: Москва
Пользователь №: 72



Цитата(MadlasS @ 30/10/2009, 11:05) *
VG а у тебя SDK 2010? визард работает?
У меня 2009 SDK и студия 2008, с визардом вроде сделал всё как в инструкции написано, создаю новый проект, выбираю 3дмах апликейшн и ничего не происходит подскажите чё не так может быть?

Ну, для начала, почему бы не посмотреть 3ds Max SDK Help - Development Platform Requirements:

3ds Max Release Date - March 2008
3ds Max Version - 2009
Target Operating System - Windows Vista (32 and 64 bit) Windows XP Pro SP2 (32 and 64 bit)
3ds Max SDK version to build plug-ins with - 2009
Microsoft Visual C++ Compiler Version - Visual C++ 8.0 (Visual Studio 2005) Service Pack 1.

Сообщение отредактировал Lastjedi - 30/10/2009, 19:53
Go to the top of the page
 
+Quote Post
MadlasS
сообщение 30/10/2009, 20:10
Сообщение #18


Знаток
Иконка группы

Группа: Пользователи
Сообщений: 259
Регистрация: 25/11/2005
Пользователь №: 18 441



VaniaVania параметр ноды visibility, в скрипте так node.visibiliti=off или on работает по NOTIFY_RENDER_PREEVAL по моему то что тебе надо
Go to the top of the page
 
+Quote Post
MadlasS
сообщение 02/11/2009, 17:45
Сообщение #19


Знаток
Иконка группы

Группа: Пользователи
Сообщений: 259
Регистрация: 25/11/2005
Пользователь №: 18 441



Про Wizard надо всё сделать как в инструкции + в файле 3dsmaxPluginWizard.vsz в строке Wizard=VsWizard.VsWizardEngine.X.0, где Х заменить на цифру студии, т.е. для 2008 это 9(по умолчанию 8 (2005)).
После этого визард работает правдо проекты создаются для 2005 студии, и не открываются сразу после создания, а опять открывается окно создать проект.Жмём отмена.Открываем в ручную созданный визардом проект.
Go to the top of the page
 
+Quote Post
VaniaVania
сообщение 03/11/2009, 14:18
Сообщение #20


Уже не новичок
Иконка группы

Группа: Пользователи
Сообщений: 21
Регистрация: 10/09/2009
Пользователь №: 72 690



Цитата(MadlasS @ 30/10/2009, 20:10) *
VaniaVania параметр ноды visibility, в скрипте так node.visibiliti=off или on работает по NOTIFY_RENDER_PREEVAL по моему то что тебе надо


Дело в том, что флаг Renderable, параметр Visibility влияют на то, будет ли объект браться в расчёт при рендеринге или нет. Но при этом объект БУДЕТ В ПАМЯТИ КОМПЬЮТЕРА. Я уверен, что МАКС достаточно продвинут, чтобы внутри себя отбрасывать те объекты, которые не попадают в камеру и не влияют на сцену. Однако присутствие этих объектов расходует память, которая в случае дефолтного рендеринга очень ограничена. Моя идея состояла в том, чтобы создавать впринципе в памяти только те объекты, которые необходимы для рендеринга. Пусть, например, мой плагин рассадил 100 000 деревьев. Понятно, что добавить их все в сцену, даже невидимыми и нерендерящимися не получится. Но если камера движется, и каждый раз захватывает в своё поле зрения только 1000 из них, то можно перед рендерингом конкретного кадра высчитывать эти деревья, создавать в памяти компьютера только их, а сразу после рендеринга удалять. Таким образом рендеринг даже такой увесистой сцены будет возможен.
Go to the top of the page
 
+Quote Post
MadlasS
сообщение 03/11/2009, 14:31
Сообщение #21


Знаток
Иконка группы

Группа: Пользователи
Сообщений: 259
Регистрация: 25/11/2005
Пользователь №: 18 441



Я когда это тестил создал 100 сфер со 100 сегментами, в камеру попадала только одна, и время рендера, сильно отличалась,при включении визибилити=офф для всех кроме этой сферы.По-этому я не уверен , МАКС достаточно продвинут, чтобы внутри себя отбрасывать те объекты, которые не попадают в камеру.
Go to the top of the page
 
+Quote Post
Karba
сообщение 20/11/2009, 12:17
Сообщение #22


Creator
Иконка группы

Группа: AWARD
Сообщений: 3 749
Регистрация: 08/12/2002
Пользователь №: 1 252



А кто нибудь знает, как на командной панели в интерфейсе програмно двигать диалоговые елементы уже во время работы макса? Например спиннер подвинуть ниже или выше. Проблемы возникают именно со спиннером. Пробовал его двигать через SetWindowPos и через MoveWindow. Он становится неактивным и ничего с ним больше не сделать.

Сообщение отредактировал Karba - 20/11/2009, 12:18
Go to the top of the page
 
+Quote Post
VaniaVania
сообщение 20/11/2009, 14:01
Сообщение #23


Уже не новичок
Иконка группы

Группа: Пользователи
Сообщений: 21
Регистрация: 10/09/2009
Пользователь №: 72 690



Цитата(Karba @ 20/11/2009, 12:17) *
А кто нибудь знает, как на командной панели в интерфейсе програмно двигать диалоговые елементы уже во время работы макса? Например спиннер подвинуть ниже или выше. Проблемы возникают именно со спиннером. Пробовал его двигать через SetWindowPos и через MoveWindow. Он становится неактивным и ничего с ним больше не сделать.


В лоб залез в MSDN и с первого раза заработал вот такой код:

::SetWindowPos( ::GetDlgItem(hDlgWnd, IDC_SEED_INDEX_SPIN), // hDlgWnd - хэндл диалога, IDC_SEED_INDEX_SPIN - ID спинера на диалоге,
NULL,
0, // желаемая х-координата
50, // желаемая y-координата
0,
0,
SWP_NOSIZE | SWP_SHOWWINDOW );
Go to the top of the page
 
+Quote Post
Karba
сообщение 20/11/2009, 14:13
Сообщение #24


Creator
Иконка группы

Группа: AWARD
Сообщений: 3 749
Регистрация: 08/12/2002
Пользователь №: 1 252



QUOTE (VaniaVania @ 20/11/2009, 14:01) *
QUOTE (Karba @ 20/11/2009, 12:17) *
А кто нибудь знает, как на командной панели в интерфейсе програмно двигать диалоговые елементы уже во время работы макса? Например спиннер подвинуть ниже или выше. Проблемы возникают именно со спиннером. Пробовал его двигать через SetWindowPos и через MoveWindow. Он становится неактивным и ничего с ним больше не сделать.


В лоб залез в MSDN и с первого раза заработал вот такой код:

::SetWindowPos( ::GetDlgItem(hDlgWnd, IDC_SEED_INDEX_SPIN), // hDlgWnd - хэндл диалога, IDC_SEED_INDEX_SPIN - ID спинера на диалоге,
NULL,
0, // желаемая х-координата
50, // желаемая y-координата
0,
0,
SWP_NOSIZE | SWP_SHOWWINDOW );


Читать умеем? Мое сообщение прочитал?
Go to the top of the page
 
+Quote Post
VaniaVania
сообщение 20/11/2009, 15:16
Сообщение #25


Уже не новичок
Иконка группы

Группа: Пользователи
Сообщений: 21
Регистрация: 10/09/2009
Пользователь №: 72 690



Цитата(Karba @ 20/11/2009, 14:13) *
Цитата(VaniaVania @ 20/11/2009, 14:01) *
Цитата(Karba @ 20/11/2009, 12:17) *
А кто нибудь знает, как на командной панели в интерфейсе програмно двигать диалоговые елементы уже во время работы макса? Например спиннер подвинуть ниже или выше. Проблемы возникают именно со спиннером. Пробовал его двигать через SetWindowPos и через MoveWindow. Он становится неактивным и ничего с ним больше не сделать.


В лоб залез в MSDN и с первого раза заработал вот такой код:

::SetWindowPos( ::GetDlgItem(hDlgWnd, IDC_SEED_INDEX_SPIN), // hDlgWnd - хэндл диалога, IDC_SEED_INDEX_SPIN - ID спинера на диалоге,
NULL,
0, // желаемая х-координата
50, // желаемая y-координата
0,
0,
SWP_NOSIZE | SWP_SHOWWINDOW );


Читать умеем? Мое сообщение прочитал?


что за наезды, молодой человек? Имейте уважение! У меня приведённый код работает (MAX 2010, VS 2008), и спинер программно передвигается в любую точку и продолжает работать, как надо.
Go to the top of the page
 
+Quote Post
VaniaVania
сообщение 20/11/2009, 18:10
Сообщение #26


Уже не новичок
Иконка группы

Группа: Пользователи
Сообщений: 21
Регистрация: 10/09/2009
Пользователь №: 72 690



Всем привет ещё раз. У меня проблемы с VRay SDK - мне нужно программным образом экспортировать обычный максовский геометрический объект в .vrmesh. При этом создание файла .vrmesh совершенно необязательно, главное получить MeshInterface. Это нужно для того, чтобы управлять VRay-рендерингом обычных максовских обхектов. Заранее спасибо.
Go to the top of the page
 
+Quote Post
VaniaVania
сообщение 24/11/2009, 13:52
Сообщение #27


Уже не новичок
Иконка группы

Группа: Пользователи
Сообщений: 21
Регистрация: 10/09/2009
Пользователь №: 72 690



Цитата(VaniaVania @ 20/11/2009, 18:10) *
Всем привет ещё раз. У меня проблемы с VRay SDK - мне нужно программным образом экспортировать обычный максовский геометрический объект в .vrmesh. При этом создание файла .vrmesh совершенно необязательно, главное получить MeshInterface. Это нужно для того, чтобы управлять VRay-рендерингом обычных максовских обхектов. Заранее спасибо.


Вопрос не актуален - я нашёл способ получить MeshInterface
Go to the top of the page
 
+Quote Post
exlevel
сообщение 24/11/2009, 18:15
Сообщение #28


Советчик
Иконка группы

Группа: Пользователи
Сообщений: 87
Регистрация: 22/04/2008
Пользователь №: 63 568



Цитата(Karba @ 20/11/2009, 13:17) *
А кто нибудь знает, как на командной панели в интерфейсе програмно двигать диалоговые елементы уже во время работы макса? Например спиннер подвинуть ниже или выше. Проблемы возникают именно со спиннером. Пробовал его двигать через SetWindowPos и через MoveWindow. Он становится неактивным и ничего с ним больше не сделать.

Тоже решил проверить SetWindowPos для спинеров, все работает нормально! (Пробовал на VS2005 3dsMax2008.)
Go to the top of the page
 
+Quote Post
3DZver
сообщение 25/11/2009, 11:11
Сообщение #29


-.-.-.-.-.-.-.-.-.-.-.-
Иконка группы

Группа: Модераторы
Сообщений: 3 915
Регистрация: 21/06/2002
Из: Нерезиновая
Пользователь №: 128



Цитата(VaniaVania @ 24/11/2009, 13:52) *
Цитата(VaniaVania @ 20/11/2009, 18:10) *
Всем привет ещё раз. У меня проблемы с VRay SDK - мне нужно программным образом экспортировать обычный максовский геометрический объект в .vrmesh. При этом создание файла .vrmesh совершенно необязательно, главное получить MeshInterface. Это нужно для того, чтобы управлять VRay-рендерингом обычных максовских обхектов. Заранее спасибо.


Вопрос не актуален - я нашёл способ получить MeshInterface

Так дело не пойдёт, парни.
Давайте сразу договоримся: если вопрос прозвучал и ответ на него был найден самостоятельно - он должен быть изложен тут. Монологи здесь никому не интересны, думаю.
Go to the top of the page
 
+Quote Post
VaniaVania
сообщение 25/11/2009, 14:17
Сообщение #30


Уже не новичок
Иконка группы

Группа: Пользователи
Сообщений: 21
Регистрация: 10/09/2009
Пользователь №: 72 690



Цитата(VaniaVania @ 24/11/2009, 13:52) *
Цитата(VaniaVania @ 20/11/2009, 18:10) *
Всем привет ещё раз. У меня проблемы с VRay SDK - мне нужно программным образом экспортировать обычный максовский геометрический объект в .vrmesh. При этом создание файла .vrmesh совершенно необязательно, главное получить MeshInterface. Это нужно для того, чтобы управлять VRay-рендерингом обычных максовских обхектов. Заранее спасибо.


Вопрос не актуален - я нашёл способ получить MeshInterface


Хорошо, исправлюсь. Каких-либо стандартных методов получить MeshInterface из обычного максовского геометрического объекта в VRay SDK я не нашёл. Но можно унаследоваться от MeshInterface и перегрузить чисто виртуальные методы getVoxel(...) и releaseVoxel(...). Эти метод возвращают и удаляют некие Voxel-объекты. Voxel - по сути та же мешь, можно весь объект запихать в один Voxel, но если треугольников будет слишком много, тогда рендериться всё будет ооочень медленно. Поэтому нужно просто руками поделить треугольники на группы по несколько тысяч и каждую группу запихать в отдельный Voxel. И выдать этот Voxel по его номеру в функции getVoxel(...).
Go to the top of the page
 
+Quote Post
Bots
сообщение Системное сообщение






4 страниц V  < 1 2 3 4 >
Fast ReplyReply to this topicStart new topic

1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



RSS Текстовая версия Сейчас: 28/03/2024 - 16:56