Тыкаюсь сейчас по всем событиям, не могу найти подходящее -(
Задача стоит в следующая.
Есть Таркет от камеры, мне нужно выполнять мой скрипт если это таргет от камеры начинает перемещаться.
В общем проверить таргет это или нет я смогу, а вот событие которое вызывается при изменении объекта , в данном примере pos, не могу найти -(
Максимально подходящее событие нашел selectionSetChanged , вызывается при селекте объекта и при унселекте, здесь еще можно пошаманить , но оно не совсем как бы красиво -(
Нашел , через NodeEventCallback проблему можно решить , правдо не могу пока что узнать родителя если выбран таргетобъкект, то есть нужно получить ссылку на родителя имея ссылку на таргет (child)
Как получить камеру , когда выделен таргет ? Я уже мосх сломал -( На счет Targetobject в доках вообще почти ничего нет , showproperties, shppropnames не работают на таргет ... =((((
У меня создана камера, таргет от камеры выделен.
Пишу в maxscript приемник
$.parent - возвращает undefined
в принцыпе в Select by name таргет и камера находятся на top= level
можно конечно получить все камеры в сцене и сравнить таргеты , может быть есть проще вариант , здесь General Node Properties не нашел -( За события пасибы !
Еще вопросик !!!
Куда посмотреть , что бы объект нельзя было выбрать ? Можно конечно через when сбрасывать с узла селект, но в Select by Name узлы все равно есть , нужно их и от туда убрать , может быть есть какое то более элегантное решение ? У меня в сцене генерится ряд хелперов, они крутятся, вертятся, в общем скрипт их обрабатывает , теперь нужно как то сделать что бы польтзователь не мог их выбрать и изменять позиции и тп ! Хелп рою уже пол ночи -(
Вопрос по событиям при анимации !!!
У меня есть событие when которое создается на камеру. Если менять свойства камеры то все ок, событие вызывается и работает, но когда на камеру делается анимация, то при анимации событие уже не вызывается. Сейчас копаюсь в контроллерах, пока без успешно -( В операторе when есть параметр controller , но он срабатывает когда на камеру добавляются контроллеры , например когда выставляю ключи
У меня есть функция которая отрабатывает всю логику кадра . Для анимации вызываю registerTimeCallback , то есть проблему с анимацией решил , появилась другая проблема -(
Я добавляю RenderElements Zdepth, той же функцией просчитываю сцену и параметры RenderElement. Для рендеринга добавил вызов callbacks.addScript #preRenderFrame "zpdPreRender()" id:#zdpAddRender
zpdPreRender() - та же функция которая отрабатывает логику кадру и изменяет параметры RenderElements. В итоге получается что рендерится RenderElements с первоначальными параметрами на момент запуска рендера =(
Я пробовал удалять RenderElements и добавлять новые для каждого кадра , в итоге RenderElements добавляются но не рендерятся вообще -(
Раз уж нельзя, если конечно нельзя, решить мою проблему , тогда нужно пускать рендер для каждого кадра в лупе относительно активных фреймов, тогда нужно делать настройки рендер максимально простыми , отключить свет, убрать все эффекты, еще бы не плохо заменить все материалы, но потом ведь все настройки нужно будет вернуть на место, как это сделать проще ?
Я придумал проще , пускать рендер самому каждый активный кадр тем самым создавая новые сессии рендера. Вопрос встал в другом , как остановить процесс рендеринга ? ж) Гугл че то не знает -(
Проблемы решил следующим путём.
Пришлось переделать концепцию утилиты. Задумывалось, что при рендеринге основной сцены будут добавлять zdepth render elements и при каждом кадре их настройки будут изменяться, оказалось, что не все так просто , как я понял при старте сессии рендера настройки сессии менять уже нельзя. Тогда я решил останавливать рендер, и покадраво скриптом рендерить, но подумав решил, что это не удачная идея так, как старт новой сессии в сложных сценах может вызвать проблемы (я прав ?).
Сейчас остановился на таком решении:
Я сделал кнопку, которая будет отдельно рендерить мои пассы.
Сохраняю проект, устанавливаю скайлайн рендер, прячу все источники света, устанавливаю на все geometryclass стандартный материал и уже здесь начинаю покадраво рендерить сцену в зависимости от настроек рендера. В случаи каких либо ошибок или завершения рендера я загружаю сохраненную ранее сцену и здесь возникает трудность. Утилита начинает ругаться на отсутствия доступа к объектам, как я понял из-за того, что загрузилась другая сцена. Решение проблемы я вижу в перезапуске скрипта и установки на него последних параметров, не могу этого сделать, как ? .... или как решить проблему доступа к объектам в новой загруженной сцене ?
Доступ к резюме доступен только по пакетному доступу HR менеджерам зарегистрированных компаний. Узнать о вариантах корпоративных пакетов можно по ссылке.
bublik20
Задача стоит в следующая.
Есть Таркет от камеры, мне нужно выполнять мой скрипт если это таргет от камеры начинает перемещаться.
В общем проверить таргет это или нет я смогу, а вот событие которое вызывается при изменении объекта , в данном примере pos, не могу найти -(
Максимально подходящее событие нашел selectionSetChanged , вызывается при селекте объекта и при унселекте, здесь еще можно пошаманить , но оно не совсем как бы красиво -(
bublik20
bublik20
Savin Denis
соответственно на событие transform
Как получить детей и родителя есть в General Node Properties
bublik20
Пишу в maxscript приемник
$.parent - возвращает undefined
в принцыпе в Select by name таргет и камера находятся на top= level
bublik20
Savin Denis
bublik20
bublik20
Куда посмотреть , что бы объект нельзя было выбрать ? Можно конечно через when сбрасывать с узла селект, но в Select by Name узлы все равно есть , нужно их и от туда убрать , может быть есть какое то более элегантное решение ? У меня в сцене генерится ряд хелперов, они крутятся, вертятся, в общем скрипт их обрабатывает , теперь нужно как то сделать что бы польтзователь не мог их выбрать и изменять позиции и тп ! Хелп рою уже пол ночи -(
igorznag
Посмотри ответы на 2-ой вопрос в этой теме.
bublik20
Виталий Смольянинов (megavitus)
bublik20
У меня есть событие when которое создается на камеру. Если менять свойства камеры то все ок, событие вызывается и работает, но когда на камеру делается анимация, то при анимации событие уже не вызывается. Сейчас копаюсь в контроллерах, пока без успешно -( В операторе when есть параметр controller , но он срабатывает когда на камеру добавляются контроллеры , например когда выставляю ключи
bublik20
Я добавляю RenderElements Zdepth, той же функцией просчитываю сцену и параметры RenderElement. Для рендеринга добавил вызов callbacks.addScript #preRenderFrame "zpdPreRender()" id:#zdpAddRender
zpdPreRender() - та же функция которая отрабатывает логику кадру и изменяет параметры RenderElements. В итоге получается что рендерится RenderElements с первоначальными параметрами на момент запуска рендера =(
Я пробовал удалять RenderElements и добавлять новые для каждого кадра , в итоге RenderElements добавляются но не рендерятся вообще -(
bublik20
bublik20
bublik20
bublik20
bublik20
Пришлось переделать концепцию утилиты. Задумывалось, что при рендеринге основной сцены будут добавлять zdepth render elements и при каждом кадре их настройки будут изменяться, оказалось, что не все так просто , как я понял при старте сессии рендера настройки сессии менять уже нельзя. Тогда я решил останавливать рендер, и покадраво скриптом рендерить, но подумав решил, что это не удачная идея так, как старт новой сессии в сложных сценах может вызвать проблемы (я прав ?).
Сейчас остановился на таком решении:
Я сделал кнопку, которая будет отдельно рендерить мои пассы.
Сохраняю проект, устанавливаю скайлайн рендер, прячу все источники света, устанавливаю на все geometryclass стандартный материал и уже здесь начинаю покадраво рендерить сцену в зависимости от настроек рендера. В случаи каких либо ошибок или завершения рендера я загружаю сохраненную ранее сцену и здесь возникает трудность. Утилита начинает ругаться на отсутствия доступа к объектам, как я понял из-за того, что загрузилась другая сцена. Решение проблемы я вижу в перезапуске скрипта и установки на него последних параметров, не могу этого сделать, как ? .... или как решить проблему доступа к объектам в новой загруженной сцене ?
bublik20