Article
未读
Entity Name
对应中文名
ActionMenuItem
动作菜单
ApiUser
脚本
Asset
资产
Attachment
附件
Booking
人员规划
Camera
摄像机
ClientUser
客户
Composition
合成
Cut
剪辑镜头
CutItem
剪辑镜头项
Delivery
分发
Department
部门
Episode
季
EventLogEntry
事件日志
FilesystemLocation
文件系统位置
Group
组
HumanUser
人员
Icon
图标
Level
关卡
LocalStorage
本地存储
MocapPass
动作捕捉过程
MocapSetup
动作捕捉设置
MocapTake
动作捕捉条目
MocapTakeRange
动作捕捉条目范围
Note
反馈,记录
Page
页面
PageHit
页面点击
PageSetting
页面设置
Performer
演员
PermissionRul ...
Learn
未读 参考来源:https://developer.shotgunsoftware.com/python-api/reference.html
创建一个镜头
Shotgun.create(entity_type, data, return_fields=None)
123456789101112131415>>> data = { "project": {"type": "Project", "id": 161}, "sg_sequence": {"type": "Sequence", "id": 109}, "code": "001_100", 'sg_status_list': "ip"}>>> sg.creat ...
QLineEdit
生成控件widget = QLineEdit()
设置输入框文字widget.setText('some text')
设置提示文字widget.setPlaceholderText('some text')
设置输入框为只读widget.setReadOnly(True)
设置输入框内容长度限制widget.setMaxLength(10)
设置输入框为内容为非明文widget.setEchoMode(QLineEdit.password)
设置输入框下拉提示选项列表123my_list = ['aa1', 'aa2', 'aa3']completer = QCompleter(my_list)widget.setCompleter(completer)
QPushButton
生成控件bt = QPushButton('push')
给按钮设置图标bt.setIcon(QIcon('icon.png'))
给按钮关联命令bt.clicke ...
Learn
未读1.打开骨骼,打开Retarget Manager面板
2.添加目标源
3.添加Rig模板
4.一一对应骨骼如果有不确定骨骼,宁愿不要添加。(例如没有root骨骼的话,点后面的x去掉)
如果有手指的骨骼,点击Show Advanced,指定更多细节骨骼
调整完成后,点击Save。
5.导航到需要的动画,右键选中重定向功能
对于体型差异太大的模型,可以选择使用骨骼作为基础。
6.对于初始pose不一样的模型,需要手动调整比如原始动画是T-Pose,而目标模型是A-Pose。则需要在原始的模型上,进入模型修改界面进行修改。
修改成A-Pose后,进行保存,然后再点击Hide Pose,回到预览界面。
Learn
未读callback的应用添加在创建节点时,执行的callback
1234def test(): print "this is test"nuke.addOnCreate(test, nodeClass='Blur')
执行上述代码,在创建一个Blur节点的时候,就可以看到调用里test函数。
如果需要传参,可以参照:nuke.addOnCreate(callable, args=(), kwargs={}, nodeClass='')
如果要删除callback,使用:nuke.removeOnCreate(test, nodeClass='Blur')
还有一个方法是:nuke.addOnUserCreate()和addOnCreate雷同,区别在于前者是节点在被创建时调用(包括加载脚本,粘贴等等),后者只有在用户使用GUI的时候调用,粘贴或者打开工程是无效的。
两个例子创建节点时,随机生成颜色的功能。
123456789101112import randomdef randomColor( ...
Learn
未读TCL 帮助文档http://www.nukepedia.com/reference/Tcl/
basic表达式pi: 圆周率pix, y: x和y的坐标width, height: 长和宽frame: 当前帧first_frame, last_frame: 工程的第一帧,和最后一帧
?: 判断表达式,例子 frame<50?1:0, 当帧数为50的时候,值为1,否则为0。
它也可以进行多层嵌套:frame<50?(frame>25?0.5:1):0
mathsqrt(a) 开根号
hypot(a, b) 先把a和b平方结果相加,再开根号
pow(a, b) 幂函数,返回a的b次方a
bs(a) 取绝对值
min(a, b), max(a, b) 返回参数的最小,最大值
clamp(a, x, y) 将a的值限制在x和y之间if a<x, a==x;if a>y, a==y如果不传参,x和y的默认值为0和1。
取整
int(a) 直接去小数点取整
ceil(a) 向上取整
floor(a) 向下取整
角度弧度计算 ...
Learn
未读节点里添加自定义knob12345678# 可以用这样的方法,查看knob类型print nuke.selectedNode()["size"]>>> Result: <WH_Knob object at xxxx># 给节点添加一个knobnode = nuke.selectedNode()knob = nuke.Double_Knob("real_name", "label name")node.addKnob(knob)
对knob的一些操作123456# 对knob进行隐藏操作node["Double_Knob"].setVisible(False)# 使一个knob不可编辑node["Double_Knob"].setEnabled(False)
自定义Knob概览
Knob
使用
描述
Array_Knob
Array_Knob(name, label, int)
矢量
Color_Knob
Color_Knob(name, l ...
Learn
未读gizmo制作在nuke中选中一些节点,按ctrl+g打包组,一个gizmo节点就做好了。
ctrl+回车键,进入组。
两种方法进行组和组内节点的关联:1.在gizmo组节点上右键Manage User Knobs,再点击pick找到组内节点的属性添加进来。
2.在gizmo组上添加一个knob (例: Floating Point Slider),real_name名为size再进入组内,在比如Blur节点上,给size属性右键添加表达式parent.size
关联组内的switch节点,添加一个下拉框的knob名为switch:在switch节点上添加表达式 parent.switch
关联组内一个节点的激活状态,添加一个checkbox knob,名为premulut在组内找到节点的disable属性,添加表达式:1-parent.premulut
两个例子给这个gizmo节点添加knobChangedScript,实现激活名为test勾选框的时候,test_value属性变为可控。Add - Python Custom
12345678910nuke.thisNode()[&q ...
Learn
未读Nuke开发相关的文档Nuke官方的一个技术支持论坛:https://support.foundry.com/hc/zh-cn
Python开发文档:https://learn.foundry.com/nuke/developers/11.2/pythondevguide/
Python API文档:https://learn.foundry.com/nuke/developers/11.2/pythonreference/
Nuke TCL教程:https://www.yiibai.com/tcl
节点操作获取节点1234567891011121314# 已知节点的名称,使用toNode函数获取,返回一个节点对象。nuke.toNode('Text1')# 获取当前选择的单个节点,返回一个节点对象。nuke.selectedNode()# 获取当前选择的多个节点,返回一个列表。nuke.selectedNodes()# 获取工程所有节点all_nodes = nuke.allNodes()# 获取工程所有指定类型的节点all_dot_nodes = nuke.al ...
获取项目关于preject类的用法,在下面的链接查看
https://learn.foundry.com/hiero/developers/11.1/HieroPythonDevGuide/api/api_core.html#hiero.core.Project
12345678910import hiero.core as hcall_projects = hc.projects()# 打印出所有项目名for p in all_projects: print p.name()# 获取指定名称的项目name = 'test_project'p = hc.project(name)
创建Clip,放到对应的Sequence或者Bin1234567891011121314151617import hiero.core as hcfile_path = r'D:\demo\shot001\shot001_v001.1001.exr'# 创建MediaSource对象m = hc.MediaSource(file_path)# 创建Clip对象c = ...









