Книга: Написание скриптов для Blender 2.49
Хранение дорогостоящих результатов для многократного использования
Хранение дорогостоящих результатов для многократного использования
Единственная капля - это, конечно, не дождь, так что мы хотели бы видеть сложенные эффекты от множества случайных капель. Следовательно, мы должны выбирать произвольные позиции и время ударов для стольких капелек, сколько мы хотели бы сымитировать.
Мы должны были бы делать это каждый раз при вызове метода __call__() (то есть, для каждого видимого пикселя в нашей текстуре). Тем не менее, это было бы огромными тратами процессорных сил, поскольку вычисление множества случайных чисел и получение и возврат памяти для, возможно, многих капель дорого.
К счастью, мы можем сохранить эти результаты в качестве экземпляров переменных нашего Pynode. Конечно, мы должны быть достаточно осторожными, чтобы проверять, что никакие входные параметры не были изменены между вызовами __call__ () и предпринять соответствующие меры, если они изменились. Общая картина будет выглядеть следующим образом:
class MyNode(Node.Scripted):
def __init__(self, sockets):
sockets.input = [Node.Socket('InputParam',
val = 1.0)]
sockets.output = [Node.Socket('OutputVal' ,
val = 1.0)]
self.InputParam = None
self.Result = None
def __call__(self):
if self.InputParam == None or
self.InputParam != self.input.InputParam :
self.InputParam = self.input.InputParam
self.Result = интенсивные_вычисления ...
self.output.OutputVal = другие_вычисления …
Этот образец работает, только если входной параметр изменяется редко, например, только если его изменяет пользователь. Если вход изменяется с каждым пикселем, поскольку входной сокет подключен к выходу другого нода - схема с запоминанием, наоборот, будет дороже по времени вместо какой-либо экономии.
- Сохранение информации о пользователях при миграции
- Сохранение информации из Интернета
- Ограничение результатов выборки FIRST
- Хранение конфигурации в системном реестре
- Построение модели выходов (результатов)
- Сохранение рабочей книги с именем, представляющим собой текущую дату
- Сохранение и использование шаблона узла
- Пример использования шаблона «Выводы – рекомендации»
- Меры результатов
- Наносится ли какой-нибудь вред USB-брелоку, когда его извлекают из разъема без использования функции безопасного отключе...
- Сохранение внесенных изменений
- Сохранение информации в реестре Windows