А нет-ли такого скрипта? |
Home· Статьи · Вакансии · Чертежи · 3D Галерея · 2D Галерея · Форум · Форум Realtime | Реклама |  Конкурсы | RAR Award | Правила |
Здравствуйте, гость ( Вход | Регистрация )
А нет-ли такого скрипта? |
09/04/2018, 21:57
Сообщение
#2656
|
|
Уважаемый Группа: Участник Сообщений: 862 Регистрация: 05/12/2004 Из: Минск Пользователь №: 8 716 |
а разве сейчас не так как в top view ? или речь не про локальную а мировую? если у объекта Z направлен не вверх, то Top вид будет уже не сверху а сбоку какбы) ...грубо говоря мне надо сделать TM[3] = [0,0,1], но как повернуть, пересчитать при этом TM[1] и TM[2] , чтобы матрица осталась ортоганальной ? |
|
|
09/04/2018, 22:12
Сообщение
#2657
|
|
уже всё сделал Группа: Пользователи Сообщений: 2 456 Регистрация: 01/06/2005 Из: z3л3№гр@d Пользователь №: 13 838 |
не оно?
CODE tm = Matrix3 (selection[1].transform.row1 * [1,1,0]) (selection[1].transform.row2*[1,1,0]) [0,0,1] [0,0,0]
tm = Orthogonalize tm viewport.SetTM (inverse tm) max zoomext sel |
|
|
09/04/2018, 22:27
Сообщение
#2658
|
|
Уважаемый Группа: Участник Сообщений: 862 Регистрация: 05/12/2004 Из: Минск Пользователь №: 8 716 |
Работает!) только вот добавил TM[3] = [0,0,1], иначе иногда получаются перевернутые виды.
Код TM = Matrix3 (selection[1].transform.row1 * [1,1,0]) (selection[1].transform.row2*[1,1,0]) [0,0,1] [0,0,0]
TM = Orthogonalize TM TM[3] = [0,0,1] viewport.SetTM (inverse TM) max zoomext sel |
|
|
10/04/2018, 11:32
Сообщение
#2659
|
|
Уважаемый Группа: Участник Сообщений: 862 Регистрация: 05/12/2004 Из: Минск Пользователь №: 8 716 |
Вообщем пока так сделал, Z- вертикально, остальные виды стараются быть ближе к стандартным, чтобы не путаться
Код local TM = selection[1].transform
local A = ((TM as quat) as eulerangles ) while A.x < -45.0 do A.x +=90.0 while A.x > 45.0 do A.x -=90.0 while A.y < -45.0 do A.y +=90.0 while A.y > 45.0 do A.y -=90.0 while A.z < -45.0 do A.z +=90.0 while A.z > 45.0 do A.z -=90.0 if abs A.x > abs A.z do swap A.x A.z if abs A.y > abs A.z do swap A.y A.z A.x = 0; A.y= 0 TM = A as matrix3 Сообщение отредактировал IOG - 10/04/2018, 11:44 |
|
|
11/04/2018, 14:28
Сообщение
#2660
|
|
щепдро. Группа: Пользователи Сообщений: 1 530 Регистрация: 24/04/2008 Из: минск Пользователь №: 63 638 |
имеется слайдер для вращения хдри энвайромента
можно ли через startup скрипт сделать так чтобы его можно было выделять, но нельзя удалить (случайно) Сообщение отредактировал харумскарум - 11/04/2018, 14:29
Прикрепленные изображения
Прикрепленные файлы
|
|
|
11/04/2018, 15:57
Сообщение
#2661
|
|
уже всё сделал Группа: Пользователи Сообщений: 2 456 Регистрация: 01/06/2005 Из: z3л3№гр@d Пользователь №: 13 838 |
архив битый
|
|
|
11/04/2018, 16:06
Сообщение
#2662
|
|
Рыцарь форума Группа: Пользователи Сообщений: 2 697 Регистрация: 25/04/2009 Из: Taunusstein Пользователь №: 69 603 |
|
|
|
11/04/2018, 16:10
Сообщение
#2663
|
|
щепдро. Группа: Пользователи Сообщений: 1 530 Регистрация: 24/04/2008 Из: минск Пользователь №: 63 638 |
изменил положение слайдера - задвинул вверх
запаковал в зип
Прикрепленные файлы
|
|
|
11/04/2018, 16:40
Сообщение
#2664
|
|
уже всё сделал Группа: Пользователи Сообщений: 2 456 Регистрация: 01/06/2005 Из: z3л3№гр@d Пользователь №: 13 838 |
выделяешь слайдер, запускаешь
CODE fn createUndeletableSlider sliderNode = ( deleteAllChangeHandlers id:#undeletableSlider when sliderNode deleted id:#undeletableSlider val do ( newSlider = instance val name:val.Name createUndeletableSlider newSlider ) ) createUndeletableSlider selection[1] ты проверь будет ли он удаляться после переоткрытия сцены, перезапуска макса. не помню точно этот when колбэк сохранятся со сценой или только на сессию макса. Сообщение отредактировал Jahman - 11/04/2018, 16:42 |
|
|
11/04/2018, 17:35
Сообщение
#2665
|
|
щепдро. Группа: Пользователи Сообщений: 1 530 Регистрация: 24/04/2008 Из: минск Пользователь №: 63 638 |
к сожалению после перезапуска макса приходится запускать скрипт вручную
автозапуск из startup тоже не помогает (строку select $sliderManipulator001 добавил) а сделать его не только неудаляемым но и нескрываемым возможно? |
|
|
11/04/2018, 18:51
Сообщение
#2666
|
|
уже всё сделал Группа: Пользователи Сообщений: 2 456 Регистрация: 01/06/2005 Из: z3л3№гр@d Пользователь №: 13 838 |
Вот жеж гемор. Указываем имя, запускаем, сохраняем сцену.
CODE ( local targetNode = getNodeByName "sliderManipulator001" global createUndeletableSlider fn createUndeletableSlider sliderNode = if isValidNode sliderNode do ( deleteAllChangeHandlers id:#undeletableSlider when sliderNode deleted id:#undeletableSlider val do ( newSlider = instance val name:val.Name ::createUndeletableSlider newSlider ) ) local tmpAttr = attributes tmpAttr ( parameters main ( targetName type:#string default:"" ) on postLoad do ( local _node = getNodeByName targetName if isValidNode _node do ( global createUndeletableSlider fn createUndeletableSlider sliderNode = if isValidNode sliderNode do ( deleteAllChangeHandlers id:#undeletableSlider when sliderNode deleted id:#undeletableSlider val do ( newSlider = instance val name:val.Name ::createUndeletableSlider newSlider ) ) ::createUndeletableSlider _node ) ) ) if isValidNode targetNode do ( createUndeletableSlider targetNode if custAttributes.Count targetNode == 0 do ( custAttributes.add targetNode tmpAttr baseobject:true targetNode.targetName = targetNode.Name ) ) ok ) |
|
|
12/04/2018, 00:37
Сообщение
#2667
|
|
уже всё сделал Группа: Пользователи Сообщений: 2 456 Регистрация: 01/06/2005 Из: z3л3№гр@d Пользователь №: 13 838 |
Полупрозрачный дотнет контрол на прозрачной форме. Жаль, что завайрить его нельзя напрямую без вспомогательной ноды
Прикрепленные изображения
|
|
|
12/04/2018, 10:50
Сообщение
#2668
|
|
щепдро. Группа: Пользователи Сообщений: 1 530 Регистрация: 24/04/2008 Из: минск Пользователь №: 63 638 |
ух здорово! какой нибудь крохотный объект в скрытом слое вполне даже ок.
а сохранение той или иной позиции на слайдере через scene states возможно? |
|
|
12/04/2018, 11:37
Сообщение
#2669
|
|
уже всё сделал Группа: Пользователи Сообщений: 2 456 Регистрация: 01/06/2005 Из: z3л3№гр@d Пользователь №: 13 838 |
Симпатично, ага, но на порядок менее функционально нежели максовские дефолтные манипуляторы. Их можно настроить, сохранить в сцене и тп.
Реализовать подобный функционал это сотни часов работы, увы. Сообщение отредактировал Jahman - 12/04/2018, 11:38 |
|
|
01/05/2018, 15:31
Сообщение
#2670
|
|
Продвинутый ученик Группа: Пользователи Сообщений: 59 Регистрация: 19/01/2012 Пользователь №: 85 177 |
Всем привет! Подскажите с одной проблемкой:
есть макрос, внутри которого случаются несколько действий (детач, экструд, что-нибудь еще (возможно, выполнение другого макроса)) и при желании отменить результат этого макроса приходится на каждое такое действие жать ctrlZ, что утомляет. Есть ли возможность что-то изменить в макросе чтобы одним решительным нажатием ctrlZ'а вернуться к состоянию до макроса? пс: undo on в начале не помогает заранее спасибо! |
|
|
Bots |
Системное сообщение
|
|
|
|
|
Текстовая версия | Сейчас: 24/04/2024 - 14:28 |