表达式如何获取复选框的值_Nuke表达式 Expression节点讲解

05d5b47d9534fa9d26cb2a7aca8a9339.png

nuke中的表达式节点对于大多数人来说有点神秘,但它非常强大。通常它通过简单的if / else语句修补数据,但在这里我们将从最基本的原则,到一些长期被遗忘的高中数学做一些简单的技巧,最后把它们融合在一起。

第一步

创建Constant节点,并附加表达式节点。如果是默认状态,它什么都不做。您可以看到底部有4个通道的字段(rgba),顶部有一些基本变量的空间,我们稍后会介绍。

a3805ae7df917cd735881b16b6be427a.png

所以,简单的表达式开始。在第一个通道表达式槽中输入“1”。上面的复选框说明要操作的通道,默认情况下它只是红色通道。按Enter键,您将看到整个图像变为红色。

abf1df14552d2f6adc604beb81a7f735.png

我们在这里所做的就是让每个像素的红色通道数值为1.非常简单。

渐变

这次,输入'x',点击回车。根据观察者的不同,你要么仍然看到红色,要么看到一个超级红色。将光标悬停在查看器中,查看颜色值。您可以看到我们将每个像素的x坐标直接映射到红色通道。

56a6279943b2c08413251cb0a4527da4.png

为了更好地看到这个渐变,我们可以重新映射这些值,使它们保持在0和1之间。为此,我们需要将x坐标除以图像宽度。输入:x / width

一个漂亮的水平渐变就出现了。但如果我们想要垂直渐变怎么办?

输入:y / height

01abb47c813da72570abb29f2ddc6f14.png

如果要反转渐变,请从1减去它:1 - (y / height)

c8b16a51ddfbfeed4ac9158fcb6a4730.png

现在,如果我们想要重复线条怎么办?

把你的思维转回到高中数学,以及sin()的图形是什么样的。如果我们给它一个永远增加的数字,它将介于-1和1之间。让我们看看它是什么样的:sin(x)

如果将鼠标悬停在查看器上,你将看到值确实在预测的-1和1之间。为了规范化,我们添加1,使其在0和2之间:sin(x) + 1

然后将整个事物除以2,给出0到1之间的值:( sin(x) + 1 ) / 2

c30fe576d8f46e149bc0223759f17792.png

为了制作更宽的线,我们希望x以较慢的速率增加,所以我们将它除以某个值:( sin(x / 4 ) + 1 ) / 2

4daeb3af5063626873e8ee3b7355fb99.png

要改变黑色与红色线的比例,我们可以做更多的表达,或者使用Nuke来发挥我们的优势。附加一个Grade节点,并弄乱blackpoint。这将使黑色区域变得越来越大。

6413723a3fee76ccd53d05d64eca6d8d.png

径向渐变

新的挑战。如果我们想测量每个像素与原点的距离怎么办?再回到高中数学; 我们有一个直角三角形的两边,我们想测量第三条边。我们可以做“A平方加上B平方”的事情(确保你正在查看表达式节点):sqrt(x * x + y * y )

将鼠标悬停在图像上方,您会看到左下角的红色值为0,当您离开(0,0)时,数字会平滑增加。这是一个径向渐变!

23926965b1e039a40f5c7603d055573b.png

要反转它,从数字中减去它,这个数字将是渐变的宽度:300 - sqrt(x * x + y * y )

bc4256d7c39cc65069cd1f0c49e6643a.png

并将其标准化为0到1之间,将整个表达式除以相同的数字:(300 - sqrt( x * x + y * y ) ) / 300

093abdd6d7aa22a290ae576df8e19220.png

径向环

我们之前可以做类似的技巧; 取出结果,并将其提供给sin():sin(sqrt(x * x + y * y ))

6f5822fcd1800f4a0bee684b3b862567.png

出现了一个同心环!要缩放,在内部除以一个数使距离增加更慢:sin(sqrt(x * x + y * y ) / 4)

4c5403d339b9c351d34cc48b12a13da8.png

再次查看Grade节点,并调整黑色与红色的比率。

更好的控制

如果你想移动这些环的中心点怎么办?基本上,你希望测量的距离不是从(0,0)开始,而是从另一个点开始。您可以从x和y值中减去该值。例如,让我们将中心点移动到(300,50):sin(sqrt((x-300) * (x-300) + (y-50) * (y-50) ) / 4)

fa535acca766300b0f012c075eaa3f45.png

这很有效,但很难更新。有一个可视化工具让我们拖动它会更好。Nuke中可以这样做。在属性窗格中,右键单击文本字段以外的任何位置,然后选择“管理用户旋钮...”。

6f476e5223a378834cdfac985056f979.png

点击添加,选择'2d Position Knob ...',将其命名为'center'。点击确定然后完成。

c2601d514988420a8a8474843693883f.png

你会看到你有一个新的'用户'标签,带有x和y值。在查看器中,您将在左下方看到“中心”Gizmo,您可以将其拖动到图像上的任何位置,并查看值更新。

9391487a6291d8c4cdd954b672ee4065.png

要在表达式中使用它,只需使用center.x和center.y:sin(sqrt((x-center.x) * (x-center.x) + (y-center.y) * (y-center.y) ) / 4)

虽然我确信你会因为记住勾股定理而感到兴奋,但是在Nuke中有一个更简单的方法来计算斜边:sin(hypot(x-center.x, y-center.y ) / 4)

让我们用滑块替换该比例倍增器。再次右键单击表达式,“管理用户旋钮”,这次添加一个名为“size”的浮点滑块,将其最小值设置为0.1,最大值设置为20.将表达式更改为:sin(hypot(x-center.x, y-center.y ) / size)

更改尺寸滑块,移动中心点,查看环跟随。

ea2efe02f4b5fdbbce94e1b6742ad29b.png

好的,这是同心环。径向射线又会怎么样?

径向光线

再回到高中数学!还记得sin / cos / tan和直角三角形之间的关系吗?在下图中,tan是对边除以邻边的比率。

7407fbb3d503a2fa006f37f629935010.png

我们可以将对立和相邻视为x和y,并使用正切来获得圆弧或角度。将这些数字插入:atan(x - center.x, y - center.y)

你会得到一个奇怪的渐变,一边是渐变色,另一边是黑色。如果将光标悬停在图像上并查看值,您将看到黑色区域实际上是负值。用光标在中心点周围跟踪一个圆圈,注意值从底部的-1.24到顶部的0,再到底部的1.24。基本上,它描绘出一个圆圈。

60054f8c5958befb3b8f3c622aaf7f0a.png

我们可以重置圆的范围,使其从0变为1:(atan(x - center.x, y - center.y) + 3.14 ) / 2.48

或者从之前做出诀窍得到径向线:sin( atan(x - center.x, y - center.y) )

220dbf249c43812f8565cd46f47d3a57.png

对于同心线,问题是输入增加太快,所以我们将它减小以减慢它,给我们更宽的线。在这里,相加太慢,所以我们将输入乘以我们的size属性以获得更多行:sin( atan(x - center.x, y - center.y) * size)

65c1d37a5b19df54a2fc406b5a5741ff.png

让我们添加一个偏移量,以便我们可以根据需要旋转它们。添加一个名为'offset'的浮点滑块,给它一个0到50的范围,并将其添加到atan结果,但在乘以size之前:sin( ( atan(x - center.x, y - center.y) + offset) * size)

滑动滑块,看光线旋转。

今天给大家介绍了一些表达式,明天,我将会给大家介绍如何应用这些表达式以及P_matte(一个有用的小插件)的工作原理。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/304173.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何在 ASP.NET Core MVC 5 中处理未知的 Action

ASP.NET Core MVC 5 是一个轻量级,开源的,利于单元测试的基于 ASP.NET Core 运行时的 web 框架,在开发时你肯定会遇到不少那些 request 无法匹配 Action 的情况,通常做法是抛出 404,但有些场景下我希望能收口到统一一个…

一文读懂 HMM 模型和 Viterbi 算法

隐含马尔可夫模型(Hidden Markov Model)隐含马尔可夫模型并不是俄罗斯数学家马尔可夫发明的,而是美国数学家鲍姆提出的,隐含马尔可夫模型的训练方法(鲍姆-韦尔奇算法)也是以他名字命名的。隐含马尔可夫模型…

qtabwidget设置tab高度_VC|富文本编辑框CRichEditCtrl的字体与段落设置

将富文本编辑框设置为2.0,关联一个control变量m_textblock:1 字体设置富文本编辑框关于字体设置的成员函数:BOOL CRichEditCtrl::SetSelectionCharFormat( CHARFORMAT& cf );此成员函数用来设置这个CRichEditCtrl对象中的当前选择的文本的…

云计算的关键特点及挑战

本文节选自《云计算:实现、管理与安全》导言 云计算的关键特点 一个云计算环境有几个关键特点。服务经常提供给特定 的看到因他们的资本支出最小化而获益的消费者和小企业。 这有助于降低在市场进入门槛,因为用来提供这些产品的基础设施由云服务提供商拥…

Mock 框架 Moq 的使用

Mock 框架 Moq 的使用IntroMoq 是 .NET 中一个很流行的 Mock 框架,使用 Mock 框架我们可以只针对我们关注的代码进行测试,对于依赖项使用 Mock 对象配置预期的依赖服务的行为。Moq 是基于 Castle 的动态代理来实现的,基于动态代理技术动态生成…

凝思系统改时间_国产操作系统往事:四十年激变,终再起风云

在这一轮技术浪潮中,无论是底层的开发生态,算力的硬件基础,还是五花八门的商业化落地场景,中国企业都有着毋庸置疑的话语输出能力。而另一个全民皆知、中国ICT产业的长期阵痛——国产操作系统,也在2019世界人工智能大会…

程序员必知的 Python 陷阱与缺陷列表

我个人对陷阱的定义是这样的:代码看起来可以工作,但不是以你“想当然“”的方式。如果一段代码直接出错,抛出了异常,我不认为这是陷阱。比如,Python程序员应该都遇到过的“UnboundLocalError”, 示例:>&…

楚乔传手游 服务器维护,楚乔传手游网络异常进不去游戏怎么办?楚乔传网络异常解决方法...

随着楚乔传的大热,手游楚乔传也应运而生,上线后的楚乔传手游版虽然好玩但也出现了许多的BUG和问题,最近有小伙伴说楚乔传手游下载后,打不开一直显示网络异常,但是网都好的,那么楚乔传手游网络异常怎么办?楚…

聊一聊和Nacos 2.0.0对接那些事

前言 nacos 2.0.0 已经发布了 alpha1, alpha2 和 beta 三个版本了,部分测试报告也已经出来了。Nacos2.0.0-ALPHA2 服务发现性能测试报告Nacos 2.0.0-ALPHA2 配置性能测试报告还是比较值得期待的。前段时间也一直在完善 nacos-sdk-csharp 这个项目。主要就是对接 Nac…

家用简单电线路图_家庭配电箱接线图解 家用配电箱安装方法

家居装修对水电的关注不可或缺,家庭电路的铺设更是至关重要的环节,其中家庭配电箱安装涉及到家居用电的安全问题。因此,小编特地对家庭配电箱安装的知识,以及家庭配电箱接线图作出相关整理,帮助大家对家庭配电箱有一个…

决策树算法及实现

在计算机科学中,树是一种很重要的数据结构,比如我们最为熟悉的二叉查找树(Binary Search Tree),红黑树(Red-Black Tree)等,通过引入树这种数据结构,我们可以很快地缩小问…

ElasticSearch+NLog实现.net core分布式日志管理

概述Elasticsearch可广泛应用于日志分析、全文检索、结构化数据分析等多种场景,大幅度降低维护多套专用系统的成本,在开源社区非常受欢迎。在系统中,如果将日志作为文件输出,查看系统日志将非常不便;如果将日志保存到数…

双路服务器只显示一半内存,双路服务器只显示一半内存

双路服务器只显示一半内存 内容精选换一换北京时间1月3日,Intel处理器芯片被曝出存在严重的Meltdown和Spectre安全漏洞,漏洞详情如下:漏洞名称:Intel处理器存在严重芯片级漏洞漏洞编号:CVE-2017-5753、CVE-2017-5715、…

不想再被鄙视?那就看进来! 一文搞懂 Python 2 字符编码

程序员都自视清高,觉得自己是创造者,经常鄙视不太懂技术的产品或者QA。可悲的是,程序员之间也相互鄙视,程序员的鄙视链流传甚广,作为一个Python程序员,自然最关心的是下面这幅图啦我们项目组一值使用Python…

mysql的外键_mysql如何查看外键

展开全部查看mysql外键方式主要是通过第三方工具或者62616964757a686964616fe4b893e5b19e31333431373233是sql语句,主要有以下三种方式1、使用Navicateformysql,打开数据库、查看数据库表、查看设计表、选择外键选项卡,就可以查看外键2、使用…

循环递归,相互结合,释放数据的价值

随着经济的发展,目前各行各业已经积累了海量的数据,并且还在持续增长,可是这些数据非常杂乱还占空间,因此,如何有效利用它们,达到资源不浪费也就成为了相关工作者的首要思考问题。此时,数据分析…

黄聪:Microsoft Enterprise Library 5.0 系列教程(四) Logging Application Block

企业库日志应用程序模块工作原理图: 从上图我们可以看清楚企业库日志应用程序模块的工作原理,其中LogFilter,Trace Source,Trace Listener,Log Formatter的信息都可以在Category配置文件中反映出来,通过配置文件,调用LogWriter类的Writer方法,就可以将包含日志信息的LogEntry实…

Webapi测试工具WebBenchmark v1.3发布

这个版本更新的内容是统一使用BeetleX的Web SPA 插件作为服务的基础支持功能方便后期功能扩展,修复线程池配置太小引起的测试问题,修复统计显示的BUG。安装工具提供win64和linux64两个版本,可以根据自己需要下载对应系统的运行版本。地址是:h…

详解哈希表的查找

哈希表和哈希函数在记录的存储位置和它的关键字之间是建立一个确定的对应关系(映射函数),使每个关键字和一个存储位置能唯一对应。这个映射函数称为哈希函数,根据这个原则建立的表称为哈希表(Hash Table),也叫散列表。…

微软腾讯京东都在高薪招.NET Core,你准备好了吗!

金三银四跳槽季,古人诚不我欺,2年没更新简历了,还接到好几个电话邀约,打过交道的几个猎头妹子更是殷勤的频繁打招呼。认真了解一下才知道,今年的招聘真的很热,.NET招聘真的很热。头部互联网企业像微软苏州、…