编程开源技术交流,分享技术与知识

网站首页 > 开源技术 正文

nuke软件中roto形状的生命周期(nuke的rotopaint怎么用)

wxchong 2024-10-22 18:05:12 开源技术 8 ℃ 0 评论

roto形状的生命周期

根据关键帧自动化roto形状的生命周期。我们使用多种方式来设置roto形状的生命周期:有些艺术家在roto节点中使用了生命周期选项卡,有些只是简单地将roto形状移出工作区域,有些人正在使用“multiply”节点来实现这一目标。

一些艺术家在roto节点中制作“可见”旋钮,这样做的方式因艺术家而异。如何组织这个?以下是这个想法:lifetime Roto.py

我们大多数人使用nuke-roto-node-lifetime选项卡根据帧范围设置生命周期。

一些艺术家在roto节点的曲线窗口中使用鼠标点击选项。

在这两种方式中,我们需要选择结束或开始的帧范围。对于编译器而言,这样做并不是一项耗时的任务。但对于roto艺术家而言呢?

lifetimeRoto.py可以根据形状关键帧自动设置选定的roto shapes生命周期。此代码获取所选形状的关键帧值(例如:10,20,30),并将min和max分别应用于生命周期的开始和结束。运行此代码后,roto形状生命周期通过单击自动设置为10 – 30。将“shift + L”指定为快捷方式。选择roto形状并确保已选择roto节点。运行此快捷方式。roto形状生命周期基于关键帧设置。

menu.py行:

import lifetimeRoto

menuBar = nuke.menu(“Nuke”)

menuBar.addCommand(’Edit/Node/lifetimeRoto’,’lifetimeRoto.setRotoLifeTime()’,’shift+l’)

###来设置选择的滚塑形状基于所述最小值最大值关键帧值的寿命。

import nuke

def setRotoLifeTime():

### get selected node

selNode = None

try:

selNode = nuke.selectedNode()

除了ValueError: #no node selected

pass

if selNode == None:

nuke.message(’确保你的roto节点被选中’)

返回

###

如果selNode.Class()==’Roto’:

找到selNode [‘curves’]中的selShape,找到选定的roto形状关键帧.getSelected ():

keyFrame = selShape [0] .center.getControlPointKeyTimes()

keyFrames = [int(i)for i in keyFrame]

low =(min(keyFrames))

high =(max(keyFrames))

###将min max keyframe应用于每个形状的生命周期

selNode [‘lifetime_type’]。setValue(4)

selNode [‘lifetime_start’]。setValue(low)

selNode [‘lifetime_end’]。setValue(high)

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表