数字人轻松学Xpresso入门-2

         为什么上一篇用集成电图,这一篇用电子积木图呢?比喻它的功能和特点:XP(以下简称)每个节点的输入输出端口以及他们相互的逻辑连接,就像集成电路一样;XP每个节点可以按照逻辑自由地连接,实现不同的功能就像电子积木一样。总之,我是非常喜欢用XP,好用又好玩,这也是我喜欢C4D之一。

         通过上一篇的几个实例,进一步了解XPRESSO,又增加了学习它的信心,是吧? 那么好,这一篇举例子谈谈使用XPRESSO应该掌握的一些知识。

需要声明的是:以下内容不是从官方资料得到的,而是自己在学习中摸索中得到的,水平有限,有可能理解错误。不对的地方,请高手们批评指正。也给初学者一个参考,你在实际运用中去检验是否正确。

第一个注意问题:每个节点输入唯一,输出可多。

每个节点就像一个模块:从不同输入端口进来数据,进行处理。处理之后,在从不同输出端口输送出去。注意的是:每个输入端口输入是唯一的,不能有多个输入,进入一个输入端口,保证数据唯一性。而每一个输出端口却可以输出很多。

第二个注意问题:优先级

在编程中有优先级说法,哪个先计算,哪个后计算。比如,运算符中括号优先级比乘除高,乘除比加减高等。

xpresso标签可以加载对象上,可以加载空物体上。可以每个对象都可以分别加载,一个对象也可以加载两个以上的XPRESSO标签。但是C4D系统在计算的时候,是有优先顺序的。

首先看上下顺序:

1、在场景中建立下列物体,为下面的三个加入XP标签(文字也可以加)

2、双击宝石XP标签。建立如下节点,把常数节点的数据类型设为“字串”,数值为“宝石”

(每个节点你应该在XP中能够找到吧,看一看)

3、在编辑窗口中,选择全部节点,点击菜单--编辑--复制。双击立方体的XP, 进入其编辑窗口,然后粘贴。点击常数,更改数值为“立方体”。同理,更改空白的XP。

4、看下图,那个在下面,文字就显示哪一个。哪个优先级高?

答案:当然是上面的优先级高。C4D先算上面的,依次从上到下计算,到最后一个,最后计算。所以场景中的文字只显示最后一个。(那为什么,我没有看到每个文字的闪现呢?C4D计算太快了)

5、同理,把文字加入两个XP标签,左边的为“左标签”,右边的为“右标签”。C4D显示的是如下,哪个优先级高?

答案:当然是左边的优先级高。先计算左边的,最后计算右边的,结果显示的是最后右边计算的结果。可以理解:后计算的结果把前计算的结果覆盖了。

(材质标签赋予也是这样:右边的材质总是要覆盖左侧的)

虽然XPRESSO标签什么地方都能加,但是我还是建议你:把它添加在一个空物体上面,一是不占资源;二是好检查。

第三个注意问题:“数据类型”保持一致性。

每个节点的输入输出端口,你要注意“数据类型”。尤其是在两个节点相互连接的时候,要保证前后数据类型一致,否则容易出错。用“常数”节点展示,看看它的数据类型有多少。(比程序语言还多)

数据类型的理解可以是这样:这个常数节点可以想象为容器,不同的数据类型好比是能呈装不同的物质,如水、金属、木头等。

1、建立一个文字,添加XP标签。在XP中做如下设定:首先,设置常数节点数据类型为字符串(字符串类型就是字符类型),输入数值如下。而文本节点的文本输入要求的数据类型恰恰是字符串类型,所以正常显示。

2、在常数节点数值中输入数字。由于数据类型是字串,所以这些“数字”是字符,是不能计算的,也正常显示。

3、把常量的数据类型改为颜色,默认为黑色。这与文本的节点不匹配。所以,不能显示颜色,文本节点就把常数节点黑色的数据RGB的数值以字符的形式显示出来。

4、再如,常数节点数据类型改为布尔(逻辑:真 TRUE 或1 表示;假 FALSE 或0 表示,默认为假)。由于类型不匹配,系统自动转换把布尔的值以字符形式显示出来了。

所以,要注意不同节点相互连接的端口之间,数据类型要匹配。否则,结果不是你想要的结果。当节点很多的时候,你都不知道错在什么地方。

第四个注意问题:数据的监测。(DEBUG)

在编程中总是在不影响程序运行过程中,要监视每个变量的数据变化,看看是否符合预期。

功能好似这个化工流程的各种仪表一样。

在XP中常规选项中,有两个节点:一个是“结果”节点,一个是“探测”节点(英文为SPY间谍)。他们有什么区别吗?

通过以下可知:

用“结果”,它没有输出,到此为止,就是显示。

而“探测”不但可以显示还可以输出数据。

总之,这两个节点,在监视整个程序运行中,非常有用。但你要注意它的输入端口和上一节点的输出端口数据类型要匹配啊。

第五个注意问题:位置和全局位置的区别

在对象节点,有两个位置,一个是全局位置,一个是位置(局部位置或相对位置)有什么区别?

1、其实,如果场景中没有父子关系,他们的数据是一样的。

用场景中球体为例:这个球体的位置和全局位置是一样的。

2、下面把场景中球体作为立方体的“儿子”

3、仔细看下图,首先注意的是“父亲”立方体不在世界中心。球体的位置坐标是相对立方体的坐标,全局坐标是相对世界坐标原点(0,0,0)的坐标。

这个问题一定弄明白,否则在场景中涉及父子关系的时候,容易出错。

第六个注意问题:数据的映射和转换

有时候,一个物体的位置移动去控制另一个物体的变化(转动、移动、缩放),可能不是线性的(成比例的),而是非线性的(不成比例的)变化。如何做到数据映射和转化呢?

举例子谈谈数据映射问题:用油桶制作一个飞碟,用圆盘制作一个门。当飞碟从Y=200位置往下降落时,圆盘的门洞打开(控制圆盘的内半径大小)。

1、场景建立如下:

2、直接相连一定不行。飞碟Y目前有高度,门的内半径等于飞碟高度,所以门已经打开,随着飞碟降落,Y值减小,门半径也减小,门关上了。所以这个逻辑不对。

3、解决的办法就是在中间添加一个“范围映射”就像汽车发动机和轮子之间有个变速器一样。

4、范围映射能找到吧?右键

5、点击“范围映射”在属性面吧做如下设置,首先注意数据类型:实数(实数你应该知道吧?)

6、它的映射逻辑下图所示:(不用解释了吧,我画的这个图能看明白吧?)

飞碟高度为200时,门的内半径为0,当飞碟高度值减小,而门的内半径增大。当飞碟高度将为0时,而门的内半径增大到300最大。而这个转换完全是由该节点自动完成的,多好啊!

7、移动关系建立以后,移动飞碟延Y轴向下,(发现虽然有漏洞,但大体效果是对的)当然你可以对飞碟进行动画K帧。

第七个注意问题:用户数据

还是用上面飞碟举例子,我们控制飞碟下落,是用鼠标拖动飞碟,延Y向下移动来完成的,能否用更简单的办法控制飞碟下落呢?

C4D利用“用户数据”提供了一个在XPRESSO之外的输入数据的方法。

1、点击“空白”,在菜单--用户数据--增加用户数据

2、用户数据里,系统自动添加一个“数据”,所以你也不用在'添加数据“,直接更改这个数据如下:

注意默认为200。

3、当确定以后,在点击空白,发现”飞行高度“控制条出现了。

4、双击XPRESSO进入编辑窗口,把空白拖进来。

5、点击空白节点右上角,选择如下:

6、作如下连接。为什么这样?直接把飞行高度与范围映射输入连接起来,绕过飞船行不行?不行为什么?

7、由于默认为200,所以飞船就停在200高度。

8、当往回移动飞行高度数据时,变化了。

9、当然,我们还可以把”飞行高度“控制条,拖入场景中,方便吧。

10、发现上面的飞行高度不能K帧,这是咋么回事?回头看第2步。点击菜单”用户数据“---编辑用户数据,发现”动画“选项没有勾选。现在看看可以用CTRL进行K帧动画了。

【补充

不知不觉写的不少了。以上这些东西不谈明白,以后的实例就没办法讲。

最后再简单谈谈以下内容:

1、xpresso的编辑窗口,是对各个节点进行管理的,都是中文,自己看一看。

比如,你发现用曲线连接不好看

点击编辑窗口菜单--布局--连接--直接。(有点标注化意思)

系统默认节点左边是输入,右边是输出。你也可以通过菜单更改反过来。你是左撇子吗?

2、掌握快捷键。在XP编辑窗口,平移也是ALT+鼠标中键;ALT+右键为缩放;正好符合视窗大小,用H键;复制节点按CTRL拖动;去除连线,直接用鼠标点击连线即可;删除更改端口,在端口按右键,会出现一个小菜单,命令就在上面。

3、注意,在测试动画的时候,发现你设置”结果“和”探测“节点的数据没有变化,那是咋回事?

那是因为你没有勾选下面的选项。C4D默认是不勾选的,可能是为了节约计算资源吧。

4、熟悉各个节点的分类。XPRESSO是按照功能进行划分,经常看一看,知道每个节点的位置,这是第一步。

第二步,查看帮助,一定要弄清楚每个节点的作用,甚至每个端口的数据类型是什么。

【后记】

还有很多,饭不是一天都吃完的,活也不是一天都完成的。

不写了

绝对不写了

出去走走

晒晒太阳

闻闻泥土的芳香

看看树叶的绿芽

春姑娘来了

我去找她

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 206,214评论 6 481
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 88,307评论 2 382
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 152,543评论 0 341
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 55,221评论 1 279
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 64,224评论 5 371
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,007评论 1 284
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,313评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,956评论 0 259
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,441评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,925评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,018评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,685评论 4 322
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,234评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,240评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,464评论 1 261
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,467评论 2 352
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,762评论 2 345

推荐阅读更多精彩内容