bresenham算法画圆代码_体验不同材质编辑器里画圆画方

习惯了substance designer里制作,在到其他软件的材质编辑器里,就会发现很多基本图形都制作不方便,下面就对比了三种材质不同的材质编辑器,包括了unity3d,ue4游戏引擎的材质编辑器和maya离线渲染的材质编辑器,想体会下不同材质编辑器里制作同一种效果会有什么样的感受,当然因为方法多样,这里就放上我最开始能想到的方式。

故事背景,unity3d使用的以前的shaderforge 因为以前用惯了,高清渲染管线那一套还不习惯,ue4么就是平常的材质编辑器,maya是使用的arnold渲染器节点。

1 首先就是经典的画圆

原理就不多说了,直接求距离,然后截数值。

c69e5fd6fb6c265b18c52200ccc6bacd.png
使用distance

38a995bb275b946c74fd13c015706a29.png
或者length节点直接输出向量的模

88a6c76c7a2586d743be70505873e0bf.png

ue4也同理,制作方式都是利用uv和距离构建圆形,然后就是各种方式截出清晰的圆。游戏引擎的编辑器似乎没啥区别。

a516df9661d9e72bd28b32559e696736.png

渲染器也类似,不过因为arnold貌似直接截断了uv负值,按上面的方式会有四分之一块是完全黑的,所以就干脆不用负值了,可以看左上角直接用了镜像uv重复方式。(一路ipr渲染,没专门开节点预览,因为我担心出问题...)

总的来说游戏引擎之间没什么区别,渲染器可能更要注意下uv问题,还有颜色数值有效范围,其他也只有一些数值映射节点需要自己对照一下。(这个很想吐槽maya的材质编辑器)

2 画方

34c217902339d9de271c7d0edecb8f8d.png

这个其实还是利用uv,制作两个矩形,然后叠起来。

cdf886893218ee8e6349a1bdd1a2e085.png

3904b18755af83c35695cda5914d565e.png

ue4里面试了试两种方式,连着连着我居然发挥了下想象力。

174c9a9206ad65a1575fe033396e5178.png

渲染器也没啥问题,除了连线不方便(...)

下面除了基本图形以外试试其他一些特性是否存在或者相同?

雪线,normal方向

3d4474ea50c3b089ac6b5664b0dc6297.png

3d877df1d32ea0660dd2eb689d28044b.png

b348809c4c022c00cd1a7b6ddf95b362.png

这种方式通常可以用来投射纹理之类引擎渲染都常用,这里基本都是一个节点搞定,唯一注意的就是不同编辑器里节点的名字都是不同的。

屏幕空间深度

引擎里的深度节点花样繁多,涉及到多种节点和效果,当然也涉及到各种可视化问题,这里就不多展开。

f805ae6661704c35b8fa4b8c616c7d87.png

3fdf583ae592c6d5f7102ca37e7400d7.png

shaderforge其中一个depth blend 在alpha blended模式下连到basecolor上的效果,比如制作水里的柱子等等。

0250cd2703ef8ef87f7e6cc56f004206.png

b99e8c6116a3c8d0a1f08fb256d9b5f8.png

ue4里的其中一个DepthFade一个有的物体和没有这个属性的物体能得到融合,一般用来做河流,软粒子等等,连到basecolor上类似局部的雾气,材质必须是translucent模式。

9133921586b5eec11105f3d1739eeb99.png

渲染器里也有,不过么几乎没见过用的,一般出片会出深度通道直接作为合成的素材,作为后期景深调色等等之用,其实这个也和游戏引擎当中通常的滤镜工作原理类似。

好了,作为游戏引擎和离线渲染的材质编辑器节点对比探索暂时就到这里,其实这里面有很多原理方式都很类似,当然各个不同材质编辑器也有自己的特点和不足,比如rgba直接带展开,可以直接嵌入代码等等。实际工作流程上因为游戏引擎的优化和效果,所以有更多材质上的奇技淫巧,这方面渲染器则显得比较朴素(一般项目上),但该有的节点还都是有的。

当然也因为渲染方式的不同,不同材质编辑器除了算法类以外也不尽相同,包括节点使用和流程上效果的实现,这也是材质搬运党探索的一大乐趣。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值