kSWC4D模型
kSWC4D模型
OCID它可以快速的设置Octane灯光的通道ID并显示在对象的icon上。实现这个小工具思路很简单:1.获取选中的对象并识别类型。2.获取选中对象的OC标签中通道的ID并保存下来。3.在弹出窗口中显示选中对象的ID并作为默认值。4.将输入的数值赋予选中的对象OC标签的通道ID。
kSWC4D模型
kSWC4D模型
获取对象的灯光通道ID kSWC4D模型
先判断是否选中对象并且选中的对象是OC灯光对象。OC灯光标签有两种类型,一种是普通的OC灯光,另一种是卡通灯光类型。
kSWC4D模型
kSWC4D模型
def get_ids(objs):
kSWC4D模型
ids = []
kSWC4D模型
if objs:
kSWC4D模型
for obj in objs:
kSWC4D模型
if obj.GetTag(1029526) is not None:
kSWC4D模型
try:
kSWC4D模型
ids.append(obj.GetTag(1029526)[c4d.LIGHTTAG_TOON_LIGHT_PASSID])
kSWC4D模型
except:
kSWC4D模型
ids.append(obj.GetTag(1029526)[c4d.LIGHTTAG_LIGHT_PASSID])
kSWC4D模型
return ids
kSWC4D模型
else:
kSWC4D模型
return False
kSWC4D模型
kSWC4D模型
灯光通道设置 kSWC4D模型
相应的,构建一个设置选中对象的OC灯光通道设置函数。是OC灯光类型的对象赋予输入的ID值。
kSWC4D模型
kSWC4D模型
def set_ids(objs, oc_id):
kSWC4D模型
try:
kSWC4D模型
if not (0 < oc_id < 9 and type(oc_id) == int):
kSWC4D模型
return False
kSWC4D模型
if objs:
kSWC4D模型
for obj in objs:
kSWC4D模型
if obj.GetTag(1029526) is not None:
kSWC4D模型
obj.GetTag(1029526)[c4d.LIGHTTAG_LIGHT_PASSID] = oc_id
kSWC4D模型
obj.GetTag(1029526)[c4d.LIGHTTAG_TOON_LIGHT_PASSID] = oc_id
kSWC4D模型
obj[c4d.ID_BASELIST_ICON_FILE] = os.path.join( os.path.abspath(sys.argv[0]), f'plugins\\OCID_V0.1\\res\\icons\\{oc_id}.tif')
kSWC4D模型
c4d.EventAdd()
kSWC4D模型
except ValueError:
kSWC4D模型
return False
kSWC4D模型
return True
kSWC4D模型
kSWC4D模型
此处需要注意用于替换的icon素材,路径获取和设置方法。
kSWC4D模型
kSWC4D模型
显示弹窗并执行 kSWC4D模型
当点击插件按钮或者用自定义的快捷键使用这个脚本。创建一个类继承于c4d.plugins.CommandData 将上面的逻辑写道Execute方法中。这里调用了一个c4d.gui.InputDialog('LIGHT ID', preset)方法。参数标题和默认值。
kSWC4D模型
kSWC4D模型
class OC_ID(c4d.plugins.CommandData):
kSWC4D模型
PLUGIN_ID = 1061491
kSWC4D模型
PLUGIN_NAME = 'OCID'
kSWC4D模型
PLUGIN_INFO = 0
kSWC4D模型
PLUGIN_ICON = load_bitmap('res/icons/OCID.tif')
kSWC4D模型
PLUGIN_HELP = ''
kSWC4D模型
kSWC4D模型
def Register(self):
kSWC4D模型
return c4d.plugins.RegisterCommandPlugin(
kSWC4D模型
self.PLUGIN_ID, self.PLUGIN_NAME, self.PLUGIN_INFO, self.PLUGIN_ICON,
kSWC4D模型
self.PLUGIN_HELP, self)
kSWC4D模型
kSWC4D模型
def Execute(self, doc):
kSWC4D模型
objs = doc.GetActiveObjects(c4d.GETACTIVEOBJECTFLAGS_SELECTIONORDER)
kSWC4D模型
ids = get_ids(objs)
kSWC4D模型
if ids:
kSWC4D模型
preset = ','.join([str(ida) for ida in ids])
kSWC4D模型
new_ids = c4d.gui.InputDialog('LIGHT ID', preset)
kSWC4D模型
if (len(new_ids.strip()) == 1) and (0 < int(new_ids.strip()) < 9):
kSWC4D模型
new_id = int(new_ids.strip())
kSWC4D模型
set_ids(objs, new_id)
kSWC4D模型
return True
kSWC4D模型
kSWC4D模型
if __name__ == '__main__':
kSWC4D模型
OC_ID().Register()
kSWC4D模型
kSWC4D模型
以上就完成了本次的插件。
kSWC4D模型
kSWC4D模型
*关于plugin_id需要登https://plugincafe.maxon.net/c4dpluginid_cp申请。
kSWC4D模型
kSWC4D模型
【脚本安装】kSWC4D模型
1.将OCID文件夹拷贝C4D安装目录D:\ProgramFiles\MaxonCinema4D R26\plugins下,重新启动C4D(请根据个人安装位置放置
kSWC4D模型
2.重新打开C4D之后,shift+F12打开【命令管理器】,在搜索框中 输入OCID。同时设置快捷键。
kSWC4D模型
3.将OCID拖入C4D的窗口合适的位置,保存窗口布局方便使用。
kSWC4D模型
kSWC4D模型
【使用步骤】kSWC4D模型
1.选中要设置的Oc灯光对象。
kSWC4D模型
2.点击脚本或按快捷键。
kSWC4D模型
3.在弹窗中输入一个数值,代表灯光ID。
kSWC4D模型
kSWC4D模型
【版本信息】C4D R21及以上。
kSWC4D模型
【作者信息】西技大神
C4D插件:C4D Octane的灯光通道设置插件OCID v1.0(Octane灯光,OC灯光通道,灯光通道设置,灯光,通道,C4D插件,OCID,plugin),版本为OCID v1.0/C4D R21+,分类属于灯光/HDR,软件语言为中文,支持PC(Windows) , MAC(Mac OS)系统平台,安装好的插件会出现在CINEMA 4D软件的插件(扩展)菜单下拉 , 其它位置位置,附件大小约359.34 KB,下载方式为本地下载。更多不错灯光/HDR下载,尽在C4D模型-C4D.COM。
[使用声明]:《C4D Octane的灯光通道设置插件OCID v1.0》插件仅供个人或学生测试试用,商业用途请前往插件官网购买正版。该插件严禁商用、传播或转载,请在下载后24小时内予以删除。灯光/HDR插件来源于网络,如果侵犯了你的权利,请提供作品书面证明,请联系网站客服:2427120@qq.com删除下架处理。