Я только начинаю изучать Maxscript |
Home· Статьи · Вакансии · Чертежи · 3D Галерея · 2D Галерея · Форум · Форум Realtime | Реклама |  Конкурсы | RAR Award | Правила |
Здравствуйте, гость ( Вход | Регистрация )
Я только начинаю изучать Maxscript |
24/06/2004, 03:06
Сообщение
#1
|
|
Take him away! Группа: Модераторы Сообщений: 2 575 Регистрация: 31/10/2002 Из: оттуда Пользователь №: 1 040 |
Раз уж появилась традиция создавать такие темы, создадим её и тут, а то всякие шарики да стекляшки уже заезжены до дыр, а столь важный аспект Макса, как Скриптинг, особого интереса у населения не вызывает. Надо это упущение исправлять
Вообщем, предлагаю здесь высказыать различные идеи, бредовые и не очень, а также методы их реализации. Новичкоф не обижать! RTFM - тоже дело нелёгкое и не сразу всем даётся Ну и для начала выложу своё сегодняшнее творение - творение, которое появилось на свет после нескольких лет повторения одной и той же процедуры. Обычная ситуация - нам надо простому плоскому объекту назначить материал с текстурой. После создания материала и выбора битмапки, нам надо, чтобы текстура легла в соответствии со своими пропорциями, а не растягивалась по размеру объекта. Для этого, мы идём в UVW Map, и там жмём Bitmap Fit, там открывается окно выбора файла, там мы ищем этот файл, и хорошо если мы в редакторе материалов, при выборе битмапки воспользовались максовской листалкой, тогда она битмапка сразу видна в окне Bitmap Fit, а если мы битмапку закинули драг-н-дропом, например из ACDSee, то листать придётся с чёрт знает какого места. Вощем целая история. Ну вот, этот скрипт ставит большую и жирную точку в этом занятии, он автоматически ставит размер гизмы равный размеру битмапки. Всё бы замечательно, но мне хотелось бы добавить ещё одну функцию - чтобы он анализировал, по какой из осей объект шире всего, и применял UVWMap на эту ось. Я хотел считать размеры объекта командами $.min и $.max, но столкнулся с каким-то непредсказуемым поведением - они как-то странно ведут себя в локальных коорднатах (или я чего проглядел): по идее in coordsys local $.min должен показывать минимальное значение боундинг бокса, независимо от угла наклона объекта, однако стоит только чуть повернуть объект, как он выдаёт какие-то немыслимые значения. Вот и скрипт. Самое разумное ему место - в менюхе Utilities в Редакторе материалов Сообщение отредактировал C00PER - 24/06/2004, 03:49 |
|
|
25/06/2004, 01:04
Сообщение
#2
|
|
Take him away! Группа: Модераторы Сообщений: 2 575 Регистрация: 31/10/2002 Из: оттуда Пользователь №: 1 040 |
Сделал проверку габаритов. Теперь плоскость гизмы параллельна оси самого большого габарита объекта, но стандартными средствами макса мне сделать это не удалось, поэтому нужны Avguard Extensions
|
|
|
25/06/2004, 08:45
Сообщение
#3
|
|
Знаток Группа: Участник Сообщений: 257 Регистрация: 16/05/2003 Из: SPb Пользователь №: 2 235 |
Тема интересная, но глядя на подобные форумы понимаешь, что максскрипт мало кого интересует по разным соображениям ,а жаль, можно значительно упростить себе жизнь. Вообщем развивать тему надо. Рано или поздно допишу скрипт который ищет нужный битмап по всем материалам, и ещё умеет искать объект с нужным ID, если кого заинтересует то выкину, говорите. Нужно конечно это гейм девелоперам в первую очередь
|
|
|
25/06/2004, 17:23
Сообщение
#4
|
|
MaxMan Группа: Пользователи Сообщений: 223 Регистрация: 18/05/2004 Из: Краснодар Пользователь №: 5 897 |
По-моему гей мекерам в первую очередь нужны скрипты, переводящие модели и анимации во внешние, открытые файлы.
Именно этим я щаз и занимаюсь. Нас тут четверо собралось, игру делать будем. Вот я и взялся за это дело. |
|
|
25/06/2004, 17:28
Сообщение
#5
|
|
Знаток Группа: Участник Сообщений: 257 Регистрация: 16/05/2003 Из: SPb Пользователь №: 2 235 |
QUOTE(DIA-Doca @ Jun 25 2004, 18:23) По-моему гей мекерам в первую очередь нужны скрипты, переводящие модели и анимации во внешние, открытые файлы. Именно этим я щаз и занимаюсь. Нас тут четверо собралось, игру делать будем. Вот я и взялся за это дело. это тоже надо, но это самая первая и очевидная проблема, а в период работы их ещё гора возникнет |
|
|
25/06/2004, 19:00
Сообщение
#6
|
|
Знаток Группа: Участник Сообщений: 257 Регистрация: 16/05/2003 Из: SPb Пользователь №: 2 235 |
а кто-нить знает как скриптом нажать утилитку reset xform, я так понял можно воспользоваться $.transform но вот пока не понял как
или я всё таки не туда двигаюсь ? |
|
|
28/06/2004, 07:23
Сообщение
#7
|
|
Take him away! Группа: Модераторы Сообщений: 2 575 Регистрация: 31/10/2002 Из: оттуда Пользователь №: 1 040 |
Desead, вот тебе улучшенный ResetXform, который сохраняет информацию о вращении, то бишь обнуляет только масштаб.
http://scriptspot.com/download.asp?ID=1937 Или просто напиши ResetXForm $ , но это только для макса 6 А у меня появился ламерский вопрос: Как можно назначить одному Эррею в качестве цвета другой Эррей. Например у меня есть: CODE sel = selection as array col = for s in sel collect s.wirecolor затем я например всем объектам назначаю один общий цвет, а потом мне надо для каждого объекта, находящегося в Эррее Sel назначить его исходный цвет, который лежит в Эррее Col Вот что находится в первом Эррее: CODE #($Teapot:Teapot02 @ [15.607554,34.097706,0.000000], $Teapot:Teapot03 @ [-26.646317,-26.881655,0.000000], $Teapot:Teapot01 @ [-55.240364,7.516488,0.000000]) Вот что во втором: CODE #((color 223 189 154), (color 27 33 248), (color 4 230 216)) Как второе назначить первому ну никак не могу въехать Пожалуйста не оставляйте без внимания сей пост, ибо в качестве благодарности вы получите довольно забавный скрипт Сообщение отредактировал C00PER - 28/06/2004, 08:05 |
|
|
28/06/2004, 09:35
Сообщение
#8
|
|
Знаток Группа: Участник Сообщений: 257 Регистрация: 16/05/2003 Из: SPb Пользователь №: 2 235 |
to COOPER: благодарю за помощь, вечером погляжу как там с цветом обстоят дела, чего если получится, то напишу
|
|
|
28/06/2004, 15:28
Сообщение
#9
|
|
Take him away! Группа: Модераторы Сообщений: 2 575 Регистрация: 31/10/2002 Из: оттуда Пользователь №: 1 040 |
Ещё вопрос, совсем простенький
Есть две Point3... Как из них получить Matrix3? Пдразумевается что Scale будет равным 1 edit: Свою ошибку понял, конечно сморозил полную херню, нужна ещё одна Point3. Будем копать дальше.. Сообщение отредактировал C00PER - 28/06/2004, 17:56 |
|
|
28/06/2004, 22:45
Сообщение
#10
|
|
Наш человек Группа: Участник Сообщений: 415 Регистрация: 10/07/2003 Из: Киев, Украина Пользователь №: 2 786 |
QUOTE для каждого объекта, находящегося в Эррее Sel назначить его исходный цвет, который лежит в Эррее Col ......... Как второе назначить первому ну никак не могу въехать Сам ответил на свой вопрос и не заметил: for j=1 to col.count do sel[j].wirecolor=col[j] ЗЫ:Моделил дом для игрушки и в результате чего я тоже написал пару скриптиков по UVW mapping'y.Есть: применение для каждого полигона одного UVW, перестановка(обмен) 2-х UVW координат (с 2-х полигонов)...были еще идеи только сейчас не вспомню... |
|
|
29/06/2004, 09:20
Сообщение
#11
|
|
MaxMan Группа: Пользователи Сообщений: 223 Регистрация: 18/05/2004 Из: Краснодар Пользователь №: 5 897 |
QUOTE(pepper @ Jun 28 2004, 23:45) ЗЫ:Моделил дом для игрушки и в результате чего я тоже написал пару скриптиков по UVW mapping'y. О, так мы коллеги? Тоже гейм мекер? Так вот почему ты UVW мэппингу так помог быстро?! Кстате спасибо ещё раз! |
|
|
29/06/2004, 09:46
Сообщение
#12
|
|
Красив как Бог, умен как Дъявол Группа: Хранители порядка Сообщений: 4 478 Регистрация: 16/06/2002 Из: Одесса Пользователь №: 8 |
У меня другая идея...
Как насчет продолжить доброе дело мешьтулз?? У меня есть идеи инструменов, которых мне не хватает... например все наверно знаете Grow и Shrink?! И наверно знаете Ring и Loop?! так вот.. очень часто мне надо Совмещенная команда.. т.е. чтобы Ring не окутывал кольцем всю модель а выделял лишь ближайшие 2е грани... Смогете?.. а то у меня всейчас времени нету разбираться и вспоминать максскрипт.. |
|
|
29/06/2004, 10:11
Сообщение
#13
|
|
Знаток Группа: Участник Сообщений: 257 Регистрация: 16/05/2003 Из: SPb Пользователь №: 2 235 |
to COOPER: ну вот, тебе уже ответили, а я ещё даже не посмотрел :-)
по поводу выделений loop тоже вопрос у меня есть. Кто нибудь занет сам алгоритм по которому происходит выделение, на глаз понятно что там последовательные рёбра. Есть некоторые мысли но чтобы не изобретать с нуля велосипед, лучше его апгрейдить так сказать. to Shiva: а мештулз автор больше не изменяет ??? я как то не задавался просто этим вопросом. Я давно пытался поглядеть алгоритм с помощью которого он реализует свои функции, но либо мне в тот момент знаний скрипта не хватало, либо моего образования, вообщем я понял только поверхностно. И с твоим выделением тоже разберёмся :-) мне 2 дня осталось до сдачи этапа, и постараюсь тебе помочь, если никто другой не опередит конечно. |
|
|
29/06/2004, 11:31
Сообщение
#14
|
|
Take him away! Группа: Модераторы Сообщений: 2 575 Регистрация: 31/10/2002 Из: оттуда Пользователь №: 1 040 |
QUOTE Сам ответил на свой вопрос и не заметил: Дык, ламер-с Спасибо! Ура! Работает! Ждите прикольную феньку QUOTE У меня есть идеи инструменов, которых мне не хватает... например все наверно знаете Grow и Shrink?! И наверно знаете Ring и Loop?! так вот.. очень часто мне надо Совмещенная команда.. т.е. чтобы Ring не окутывал кольцем всю модель а выделял лишь ближайшие 2е грани... Хехе, мне тоже этого нехватает QUOTE Я давно пытался поглядеть алгоритм с помощью которого он реализует свои функции, но либо мне в тот момент знаний скрипта не хватало, либо моего образования, вообщем я понял только поверхностно. И с твоим выделением тоже разберёмся да, самый лучший выход это попытаться разобраться в готовом скрипте, как я и делаю Сообщение отредактировал C00PER - 29/06/2004, 11:36 |
|
|
30/06/2004, 11:36
Сообщение
#15
|
|
Take him away! Группа: Модераторы Сообщений: 2 575 Регистрация: 31/10/2002 Из: оттуда Пользователь №: 1 040 |
А можно-ли каким-нибудь образом сохранить материалы нескольких объектов для того чтобы назначить их им же в дальнейшем? Ну наподобие вот того примера с цветами.
|
|
|
Bots |
Системное сообщение
|
|
|
|
|
Текстовая версия | Сейчас: 25/04/2024 - 09:37 |