当前位置:服务支持 >  软件文章 >  Houdini中将灯光约束在物体或cam上的方法

Houdini中将灯光约束在物体或cam上的方法

阅读数 16
点赞 0
article_banner

    在Maya中布光,作灯光跟随只需P下父子关系,不过Houdini中却有些复杂。之前做项目时,遇到运动幅度过大的镜头手K了不少关键帧,着实令人烦恼。后面询问了大佬和找到些教程观看,在此分享些方法出来,也欢迎大佬指正。

    一.使用point表达式将灯光约束到对象

        1.在Geometry层级中建一个sphere,并使用Transform节点为它k一个动画,模拟运动中物体或角色

使用Transform节点为它k一个动画

        2.在Object层级中,建一个Null节点,在它的Translate的属性中分别键入

            point("/obj/light_constrain_to_point1/sphere1",10,"P",0)

            point("/obj/light_constrain_to_point1/sphere1",10,"P",1)

            point("/obj/light_constrain_to_point1/sphere1",10,"P",2)

键入表达式

        3.point()是一个函数,可以获取对象上某一个点上的属性,比如"P"位置属性。括号内,依次为对象的路径,点的序号,属性,x/y/z(提示:从0开始)

        4.将灯光作为Null的子级

将灯光作为Null的子级

   

cut-off

    二.将灯光约束到cam上

      1.目前市面上使用的houdini-out流程,基本是使用maya导出abc摄像机动画到houdini中布光。所以第一步我们要获取abc摄像机在世界空间的位置

       2.在maya中随便k一个摄像机动画并导出为abc,在导入houdini中。由于maya默认单位为厘米,hou为米,需要使用null节点将其缩放100倍

hou导入abc

null缩放100倍

        3.使用add节点,并添加point wrangle并粘贴上如下代码。此步是为了获取abc摄像机在世界空间中位置

point表达式

        3.1          string camera = chs("camera_path");

                      @P = ptransform(camera, "space:current", {0,0,0});

                      @N = ntransform(camera, "space:current", {0,0,-1});

        3.2由于以上是使用chs通道表达式获取摄像机路径,记得需要在“小齿轮”处添加一个operator path变量

小齿轮在节点参数右上角处

        4.新建一个null,并使用point表达式获取该点即abc摄像机位置

                      point(chs("point_path"),0,"P",0)

        5.类似第一大点,此时将灯光放置在null下即可

cut-off

    三.其它

       1.以上提到的两点都只能做到位移上的约束,关于旋转约束需要使用到vrorigin表达式。由于挺难使用文字讲清楚,我会把所看教程的地址,以及前文获取abc摄像机位置的代码来源放在评论区中

        2.使用hou中chop模块的constraint,其中有一个叫getworldspace的节点也能实现位移和旋转约束的功能,这个不需要任何表达式。评论区我将附上所有测试用的hip文件

cut-off

    四.补充:循环贴图表达式padzero

        1.在项目中,有时会遇到火光闪烁及水波纹等的布光,此时一般需要使用灯光贴图。padzero表达式可以根据时间帧而获取贴图序列帧

       

$HIP表达当前houdini文件路径

        2.解释:数字"4"表示位数,比如0001,0002…($F-50)表示贴图序列帧向前偏移50帧。%即取余,可以实现循环效果

相关文章
QR Code
微信扫一扫,欢迎咨询~

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利
遇到许可问题?该如何解决!?
评估许可证实际采购量? 
不清楚软件许可证使用数据? 
收到软件厂商律师函!?  
想要少购买点许可证,节省费用? 
收到软件厂商侵权通告!?  
有正版license,但许可证不够用,需要新购? 
联系方式 155-2731-8020
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

手机不正确

公司不为空