Су-37_терминатор
- Автор темы Борис Белов
- Дата создания
- Рейтинг
- 183
2Mic Nau...Вот трансформация я как раз и имел в виду......а через Constraints как именно, которая look at?......если она то не совсем то что нужно, её я использовал для отклонения вектора, кстати ты не в курсе как сделать ограничения перемещения поинта, на который ориентированы сопла константой лук эт, относительно например самого самолёта?
утром читал тему а сейчас понадобилось возможно похожее сделать, не знаю актуально или нет но если wire parameters не наследуется, то можно быстро скопировать на много объектов через скрипт
в моем случае просто одним "слаидером" надо одновременно поворачивать много циллиндров по оси Y, и чтоб не делать по отдельности сделал таким образом:
(
wireset = selection as array
for i = 1 to wireset.count do
(
select wireset
macros.run "Parameter Wire" "paramWire"
paramWire.connect $Slider03.baseObject[#value] $.rotation.controller[#Y_Rotation] "degtorad value"
clearSelection()
)
)
опять же не знаю актуально или нет, но если да, то я попробую помочь
в моем случае просто одним "слаидером" надо одновременно поворачивать много циллиндров по оси Y, и чтоб не делать по отдельности сделал таким образом:
(
wireset = selection as array
for i = 1 to wireset.count do
(
select wireset
macros.run "Parameter Wire" "paramWire"
paramWire.connect $Slider03.baseObject[#value] $.rotation.controller[#Y_Rotation] "degtorad value"
clearSelection()
)
)
опять же не знаю актуально или нет, но если да, то я попробую помочь
ок... на самом делеле самая важная часть скрипта здесь вот эта:
(
wireset = selection as array
for i = 1 to wireset.count do
(
select wireset
.....
)
)
этот текст как-раз помогает передать последующие указания на все выделенные объекты. Другими словами, выбрать все объекты по отдельности, и проделать с ними по очереди последующие указания.
a то что следует потом можно получить, открыв maxscript listener. Если проделывать любые операции в максе, то почти все они будут отображаются в виде максовского скрипта в розовой части окна. Так, что можешь проделать нужную операцию один раз, записать ее, и вставить в скрипт. После выделить все остальные объекты, которые должны получить аналогичные свойства, и прогнать свой скрипт.
Вот собственно все. Ну или объясни подробнее, какие параметры ты пытаешься соединить, или какой должен быть результат. Если скрипт получится, но работать по непонятной причине не будет, то можешь его сюда сунуть тоже показать. Но я на самом деле совсем поверхностно знаю все это дело, я даже в прошлом посте ошибку допустил
macros.run "Parameter Wire" "paramWire" - это абсолютно лишняя строка на самом деле была
(
wireset = selection as array
for i = 1 to wireset.count do
(
select wireset
.....
)
)
этот текст как-раз помогает передать последующие указания на все выделенные объекты. Другими словами, выбрать все объекты по отдельности, и проделать с ними по очереди последующие указания.
a то что следует потом можно получить, открыв maxscript listener. Если проделывать любые операции в максе, то почти все они будут отображаются в виде максовского скрипта в розовой части окна. Так, что можешь проделать нужную операцию один раз, записать ее, и вставить в скрипт. После выделить все остальные объекты, которые должны получить аналогичные свойства, и прогнать свой скрипт.
Вот собственно все. Ну или объясни подробнее, какие параметры ты пытаешься соединить, или какой должен быть результат. Если скрипт получится, но работать по непонятной причине не будет, то можешь его сюда сунуть тоже показать. Но я на самом деле совсем поверхностно знаю все это дело, я даже в прошлом посте ошибку допустил
macros.run "Parameter Wire" "paramWire" - это абсолютно лишняя строка на самом деле была
на всякий случай - альтернативный метод (без скрипта):
1. создаем объект, который впоследствии размножим. Создаем рядом пойнт, присваиваем объекту constraint "look at" на этот пойнт.
2. в закладке "motion", в настройках "LookAt" отключаем галочку World в разделе "Select Upnode", в качестве "Upnode" выбираем наш Point
3. Размножаем объект и его мишень вращением вокруг внешнего центра, с опцией "Instance". Создаем рядом окружность.
4. Линкуем все пойнты к окружности. Теперь, если мы будем её масштабировать - наше "сопло" будет сужаться и расширяться
5. Для этой окружности в закладке "motion", в разделе "Assign controller" назначаем на "SCALE" контроллер "ScaleXYZ" Масштаб поделился на три координаты и каждая из них стала типом "Bezier Float". Теперь они не будет конфликтовать по типу с параметром манипулятора!
6. Создаем манипулятор, назначаем Value = 1, Minimum = 0.8, Maximum = 1.2. Цепляем Wire Parameters масштаб окружности по X и по Y к значению манипулятора. Готово!
1. создаем объект, который впоследствии размножим. Создаем рядом пойнт, присваиваем объекту constraint "look at" на этот пойнт.
2. в закладке "motion", в настройках "LookAt" отключаем галочку World в разделе "Select Upnode", в качестве "Upnode" выбираем наш Point
3. Размножаем объект и его мишень вращением вокруг внешнего центра, с опцией "Instance". Создаем рядом окружность.
4. Линкуем все пойнты к окружности. Теперь, если мы будем её масштабировать - наше "сопло" будет сужаться и расширяться
5. Для этой окружности в закладке "motion", в разделе "Assign controller" назначаем на "SCALE" контроллер "ScaleXYZ" Масштаб поделился на три координаты и каждая из них стала типом "Bezier Float". Теперь они не будет конфликтовать по типу с параметром манипулятора!
6. Создаем манипулятор, назначаем Value = 1, Minimum = 0.8, Maximum = 1.2. Цепляем Wire Parameters масштаб окружности по X и по Y к значению манипулятора. Готово!
Вложения
-
185,7 КБ Просмотров: 272
-
251 КБ Просмотров: 281
-
270,9 КБ Просмотров: 280
- Рейтинг
- 183
Вобщем столкнулся с новой проблемой, незнаю что делать, может кто подскажет?........дело в следующем после того как преципил на слайдеры закрылки, предкрылки и рули направления при закрытии программы, макс скрипт выдаёт какую-то ошибку, жму ок или просто закрываю, после чего пропадают разные объекты (некоторые из них вообще не имеют никакого отношения к слайдерам)........
Вложения
-
405,9 КБ Просмотров: 271
-
326,4 КБ Просмотров: 278
-
427,9 КБ Просмотров: 290
ну макс жалуется на то что он не может добраться до какого-то удаленного объекта... это похоже на правду, или он ерунду говорит? и ничего не было удалено? возможно случайно? Все детали сопла точно на месте? хотя все-равно не могу понять почему это должно ставить макс в ступор
slidermanip.ms это твой скрипт? или родной, или скаченный? попробуй поставить слайдер сопла не в нулевое положение... тогда тоже ругается?
Но я теряюсь в догадках на самом деле...
slidermanip.ms это твой скрипт? или родной, или скаченный? попробуй поставить слайдер сопла не в нулевое положение... тогда тоже ругается?
Но я теряюсь в догадках на самом деле...