CREATE SIMPLE WOODEN FLOOR TEXTURE. PART 1

学习目标
1) 理解节点的构成,并可以自由地制作加工好的木质地面样式。
2) 运用 Gradient map node 。
3) 确认非导体的 fresnel 现象。

本次学习分为以下两个章节。
Part1. Basic wooden floor pattern.
Part. Scratching wooden surface.

以外的参考知识.

我们来了解下导体和非导体。

1. 使用各种 Noise 和 Directional Wrap 构成地面木板样式。
2. 使用 Gradient Color 。

本次学习分为以下两个章节。

Part1. Basic wooden tile pattern.
学习基本样式。

Part2. Gradient Color
做好的样式上适用自然的颜色。

This Example production is made with Substance Designer 2019.2.1.
该示例产品使用Substance Designer 2019.2.1制作。

开始吧。
Lets start.
在这里插入图片描述
Add Gradient Linear 1 node.
添加“渐变线性1”节点。

在这里插入图片描述
Tiling : 1
Rotation : 90

在这里插入图片描述Add Tile Random.
添加平铺随机。

在这里插入图片描述Tile Random
X Amount : 64
Y Amount : 1
Non Square Expansion : True

Pattern : Pattern Input
Symmetry Random Mode : Horizontal + Vertical

在这里插入图片描述Random X : 0.5
Random Y : 0

在这里插入图片描述Interstice Amount : 0

在这里插入图片描述Blur HQ Grayscale 을 추가 합니다.

在这里插入图片描述Blur HQ Grayscale
Intensity : 0.35
自上次编辑以来,质量从0变为1。
Quality changes 0 to 1 since the last edit.

在这里插入图片描述Add Non Uniform Dir Warp Grayscale.
添加 Non Uniform Dir. Warp Grayscale。
https://docs.substance3d.com/sddoc/non-uniform-directional-warp-180192281.html

在这里插入图片描述
Before setting, we need to make weight Node to be connected to two input values.
设置之前,我们需要将权重Node连接到两个输入值。

Add and connect BmW Sports 1 and Blur HQ Grayscale.
添加并连接BmW Sports 1和Blur HQ灰度。

在这里插入图片描述Blur HQ Grayscale
Intensity : 2

在这里插入图片描述Add Anisotropic Noise and Blur HQ Grayscale.
添加Anisotropic Noise和Blur HQ Grayscale。

在这里插入图片描述Anisotropic Noise
X Amount : 2
Y Amount : 300
Rotate : True

在这里插入图片描述Blur HQ Grayscale
Intensity : 3

在这里插入图片描述添加并连接Blend。

在这里插入图片描述Blend
Opacity : 0.06 ~ 0.08
Blending Mode : Copy

节点连接中间过程
Node connection intermediate process
在这里插入图片描述

让我们添加一个节点以使看起来更自然的木材成为可能。
Let’s add a node to make the wood that makes look more natural.

从木杆上取下树枝后,就会出现这种表达。
This expression occurs after removing tree twigs from wooden poles.

在这里插入图片描述
Tile Random 을 추가 한다.
添加Tile Random。

在这里插入图片描述X Amount : 3
Y Amount : 3
Pattern : Thorn

在这里插入图片描述Random X : 0.16
Random Y : 0.16

在这里插入图片描述Scale Random : 0.4

在这里插入图片描述Random : 0.34

在这里插入图片描述添加“Level”并将其与“Tile Random”连接。
“级别(Level)”是修改全局值的好方法。

在这里插入图片描述Fix to dark and medium brightness parts.
修复深色和中等亮度的零件。

在这里插入图片描述添加一个Blend并将Level与上一个Blend部分相关联。
Add a Blend and associate the Level with the previous Blend section.

在这里插入图片描述Blend
Opacity : 0.25
Blending Mode : Add Sub

在这里插入图片描述镜框便于查看。
Framed for easy viewing.
连接“Non Uniform Dir. Warp Grayscale”的“Intensity Input”和“Warp Angle Input”。
Connect both ‘Intensity Input’ and ‘Warp Angle Input’ of ‘Non-Uniform Dir Warp Grayscale’.

在这里插入图片描述
通过将其连接到“Emissive”预览在中间的零件。
Preview the part you are making in the middle by connecting it to Emissive.

在这里插入图片描述通过连接“Invert Grayscale”以校正高度信息来反转值。
Invert the value by connecting ‘Invert Grayscale’ to correct the height information.

在这里插入图片描述错误的“Normal Map”结果。
Incorrect ‘Normal Map’ result.

在这里插入图片描述更正“Normal Map”结果。
Correct ‘Normal Map’ result.

让我们向木纹表面添加细节。
Let’s add detail to the wood grain surface.
在这里插入图片描述添加并连接“Directional Noise 1”和“Non Uniform Blur Grayscale”。
Add and connect ‘Directional Noise 1’ and ‘Non Uniform Blur Grayscale’.

在这里插入图片描述Directional Noise 1
Angle : Degrees - > 90
Angle Random : 0.04

在这里插入图片描述
添加“Directional Warp“Invert Grayscale”连接到“Input”,将“Non Uniform Blur Grayscale”连接到“Intensity Input”。
Add ‘Directional Warp’ and connect ‘Invert Grayscale’ to ‘Input’ and ‘Non Uniform Blur Grayscale’ to ‘Intensity Input’.

在这里插入图片描述Directional Warp
Intensity : 3.16
Warp Angle : Degrees -> 173

在这里插入图片描述
添加“Blend”和“Directional Noise 4”。
Add ‘Blend’ and ‘Directional Noise 4’.

将“Non Uniform Blur Grayscale”连接到“Blend Forward”,将“Directional Noise 4”连接到“Blend Background”。
Connect ‘Non Uniform Blur Grayscale’ to ‘Blend Forward’ and ‘Directional Noise 4’ to ‘Blend Background’.
在这里插入图片描述
Directional Noise 4
Angle : Degrees - > 90

在这里插入图片描述Blend
Blending Mode : Overlay

在这里插入图片描述添加Blend。
将“Directional Warp”连接到“Forward Input”。
Connect ‘Directional Warp’ to ‘Forward Input’.
将“Blend”与编辑为“Background Input”的“Directional Noise 4”相连。
Connect ‘Blend’ with ‘Directional Noise 4’ edited to ‘Background Input’.

在这里插入图片描述Blend
Opacity : 0.6
Blending Mode : Overlay

在这里插入图片描述临时清理。

基本表面细节部分已完成。
Basic surface detail part is completed.

安排框架。
Arrange with Frame.

第2部分要介绍的内容
What to cover in Part 2
在这里插入图片描述
中目标。
Medium goal.
1. Handle normal map parts more naturally.
2. Adding natural colors.
3. Defining and Outputting Final Attributes.

About JP

链接: Website.
在这里插入图片描述
在这里插入图片描述
出生在韩国的TA。
1997年开始从事电脑图形视觉化工作后,在这个行业已经有21年经验了。
在多个网络游戏公司引领过美术团队,之前在allegorithmic担任TA负责人,在中国网易盘古工作室担任TA总监,现在是巨人网络TA部门的总负责人。
懒惰的人才有创意”是他坚信并执行的哲学道理。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
private async parseMaterial(osgStateSet: any) { let material = new THREE.MeshBasicMaterial({ // side: THREE.DoubleSide, }); //THREE.FrontSide 背面 // THREE.BackSide 前面 // THREE.DoubleSide 双面 let osgImage = osgStateSet.TextureAttributeList[0].value.StateAttribute.Image; // let texture = this.parseImage(osgImage); let fileName = osgImage.Name; const isJPEG = fileName.search(/.jpe?g($|?)/i) > 0; const isPNG = fileName.search(/.png($|?)/i) > 0; if (!isPNG && !isJPEG) { return; } let mimeType = isPNG ? 'image/png' : 'image/jpeg'; let imageUri: any = new Blob([osgImage.Data], { type: mimeType }); let base64 = await this.blobToBase64(imageUri); // debugger let imageUrl: any = URL.createObjectURL(imageUri); try { let texture = new THREE.TextureLoader().load(base64, () => { texture.needsUpdate = true; // texture.format = THREE.RGBAFormat; texture.type = THREE.UnsignedShort5551Type; texture.minFilter = THREE.LinearMipmapNearestFilter; texture.magFilter = THREE.LinearMipmapNearestFilter; texture.generateMipmaps = false; // texture.format = THREE.RGBAIntegerFormat; // texture.minFilter = THREE.NearestFilter; // texture.magFilter = THREE.NearestFilter; // texture.minFilter = THREE.LinearMipMapLinearFilter; // texture.magFilter = THREE.LinearFilter; // texture.wrapS = THREE.RepeatWrapping; // texture.wrapT = THREE.RepeatWrapping; // texture.anisotropy = 1; // texture.generateMipmaps = false; // texture.encoding = THREE.sRGBEncoding; }); imageUri = null; osgImage = null; imageUrl = null; if (texture) { material.map = texture; } } catch (e) { console.log('纹理加载出错', e); } osgStateSet = null; return material; } private blobToBase64(blob: any) { return new Promise((resolve, reject) => { const fileReader = new FileReader(); // readAsDataURL fileReader.readAsDataURL(blob); fileReader.onload = (e: any) => { resolve(e.target.result); }; }); }没有显示base64图片的纹理,也没有报错,请找出问题,并给出详细代码
最新发布
06-12
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值