reze-engine 0.54.6 → 0.54.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/graph/presets/body.d.ts.map +1 -1
- package/dist/graph/presets/body.js +10 -2
- package/dist/graph/presets/cloth_rough.d.ts.map +1 -1
- package/dist/graph/presets/cloth_rough.js +11 -3
- package/dist/graph/presets/cloth_smooth.d.ts.map +1 -1
- package/dist/graph/presets/cloth_smooth.js +11 -3
- package/dist/graph/presets/eye.d.ts.map +1 -1
- package/dist/graph/presets/eye.js +10 -2
- package/dist/graph/presets/face.d.ts.map +1 -1
- package/dist/graph/presets/face.js +10 -2
- package/dist/graph/presets/hair.d.ts.map +1 -1
- package/dist/graph/presets/hair.js +10 -2
- package/dist/graph/presets/metal.d.ts.map +1 -1
- package/dist/graph/presets/metal.js +9 -1
- package/dist/graph/presets/stockings.d.ts.map +1 -1
- package/dist/graph/presets/stockings.js +10 -2
- package/package.json +1 -1
- package/src/graph/presets/body.ts +10 -2
- package/src/graph/presets/cloth_rough.ts +11 -3
- package/src/graph/presets/cloth_smooth.ts +11 -3
- package/src/graph/presets/eye.ts +10 -2
- package/src/graph/presets/face.ts +10 -2
- package/src/graph/presets/hair.ts +10 -2
- package/src/graph/presets/metal.ts +9 -1
- package/src/graph/presets/stockings.ts +10 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"body.d.ts","sourceRoot":"","sources":["../../../src/graph/presets/body.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,WAAW,CAAA;AAE5C,eAAO,MAAM,UAAU,EAAE,
|
|
1
|
+
{"version":3,"file":"body.d.ts","sourceRoot":"","sources":["../../../src/graph/presets/body.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,WAAW,CAAA;AAE5C,eAAO,MAAM,UAAU,EAAE,WAuGxB,CAAA"}
|
|
@@ -8,6 +8,12 @@ export const BODY_GRAPH = {
|
|
|
8
8
|
tags: ["body"],
|
|
9
9
|
nodes: [
|
|
10
10
|
{ id: "tex", type: "texture" },
|
|
11
|
+
// Base colour: the texture times the PMX material's diffuse. MMD authors
|
|
12
|
+
// tint per MATERIAL rather than per texel — an eyebrow sharing the face
|
|
13
|
+
// atlas is painted once and coloured here — so the diffuse belongs in the
|
|
14
|
+
// base of every look.
|
|
15
|
+
{ id: "mat_diffuse", type: "material_diffuse" },
|
|
16
|
+
{ id: "tex_base", type: "mix/multiply", inputs: { fac: 1.0 } },
|
|
11
17
|
{ id: "geo", type: "geometry" },
|
|
12
18
|
{ id: "str", type: "shader_to_rgb_diffuse" },
|
|
13
19
|
{ id: "toon", type: "ramp_constant", inputs: { pos0: 0.0, pos1: 0.2966 } },
|
|
@@ -59,8 +65,10 @@ export const BODY_GRAPH = {
|
|
|
59
65
|
],
|
|
60
66
|
links: [
|
|
61
67
|
{ from: { node: "str", socket: "value" }, to: { node: "toon", socket: "fac" } },
|
|
62
|
-
{ from: { node: "tex", socket: "color" }, to: { node: "
|
|
63
|
-
{ from: { node: "
|
|
68
|
+
{ from: { node: "tex", socket: "color" }, to: { node: "tex_base", socket: "a" } },
|
|
69
|
+
{ from: { node: "mat_diffuse", socket: "color" }, to: { node: "tex_base", socket: "b" } },
|
|
70
|
+
{ from: { node: "tex_base", socket: "color" }, to: { node: "shadow_tint", socket: "color" } },
|
|
71
|
+
{ from: { node: "tex_base", socket: "color" }, to: { node: "lit_tint", socket: "color" } },
|
|
64
72
|
{ from: { node: "toon", socket: "fac_out" }, to: { node: "toon_color", socket: "fac" } },
|
|
65
73
|
{ from: { node: "shadow_tint", socket: "color" }, to: { node: "toon_color", socket: "a" } },
|
|
66
74
|
{ from: { node: "lit_tint", socket: "color" }, to: { node: "toon_color", socket: "b" } },
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cloth_rough.d.ts","sourceRoot":"","sources":["../../../src/graph/presets/cloth_rough.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,WAAW,CAAA;AAE5C,eAAO,MAAM,iBAAiB,EAAE,
|
|
1
|
+
{"version":3,"file":"cloth_rough.d.ts","sourceRoot":"","sources":["../../../src/graph/presets/cloth_rough.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,WAAW,CAAA;AAE5C,eAAO,MAAM,iBAAiB,EAAE,WAgE/B,CAAA"}
|
|
@@ -8,6 +8,12 @@ export const CLOTH_ROUGH_GRAPH = {
|
|
|
8
8
|
tags: ["cloth_rough"],
|
|
9
9
|
nodes: [
|
|
10
10
|
{ id: "tex", type: "texture" },
|
|
11
|
+
// Base colour: the texture times the PMX material's diffuse. MMD authors
|
|
12
|
+
// tint per MATERIAL rather than per texel — an eyebrow sharing the face
|
|
13
|
+
// atlas is painted once and coloured here — so the diffuse belongs in the
|
|
14
|
+
// base of every look.
|
|
15
|
+
{ id: "mat_diffuse", type: "material_diffuse" },
|
|
16
|
+
{ id: "tex_base", type: "mix/multiply", inputs: { fac: 1.0 } },
|
|
11
17
|
{ id: "geo", type: "geometry" },
|
|
12
18
|
{ id: "str", type: "shader_to_rgb_diffuse" },
|
|
13
19
|
{ id: "ramp_008", type: "ramp_constant_aa", inputs: { edge: 0.2966 } },
|
|
@@ -34,10 +40,12 @@ export const CLOTH_ROUGH_GRAPH = {
|
|
|
34
40
|
links: [
|
|
35
41
|
{ from: { node: "str", socket: "value" }, to: { node: "ramp_008", socket: "fac" } },
|
|
36
42
|
{ from: { node: "ramp_008", socket: "fac_out" }, to: { node: "mix04_fac", socket: "a" } },
|
|
37
|
-
{ from: { node: "tex", socket: "color" }, to: { node: "
|
|
43
|
+
{ from: { node: "tex", socket: "color" }, to: { node: "tex_base", socket: "a" } },
|
|
44
|
+
{ from: { node: "mat_diffuse", socket: "color" }, to: { node: "tex_base", socket: "b" } },
|
|
45
|
+
{ from: { node: "tex_base", socket: "color" }, to: { node: "dark_tex", socket: "color" } },
|
|
38
46
|
{ from: { node: "mix04_fac", socket: "value" }, to: { node: "mix_004", socket: "fac" } },
|
|
39
47
|
{ from: { node: "dark_tex", socket: "color" }, to: { node: "mix_004", socket: "a" } },
|
|
40
|
-
{ from: { node: "
|
|
48
|
+
{ from: { node: "tex_base", socket: "color" }, to: { node: "mix_004", socket: "b" } },
|
|
41
49
|
{ from: { node: "geo", socket: "normal" }, to: { node: "sep_n", socket: "vector" } },
|
|
42
50
|
{ from: { node: "sep_n", socket: "y" }, to: { node: "bevel_clamp", socket: "a" } },
|
|
43
51
|
{ from: { node: "bevel_clamp", socket: "value" }, to: { node: "mix_003", socket: "fac" } },
|
|
@@ -51,7 +59,7 @@ export const CLOTH_ROUGH_GRAPH = {
|
|
|
51
59
|
{ from: { node: "noise", socket: "value" }, to: { node: "noise_ramp", socket: "fac" } },
|
|
52
60
|
{ from: { node: "noise_ramp", socket: "fac_out" }, to: { node: "bump", socket: "height" } },
|
|
53
61
|
{ from: { node: "geo", socket: "normal" }, to: { node: "bump", socket: "normal" } },
|
|
54
|
-
{ from: { node: "
|
|
62
|
+
{ from: { node: "tex_base", socket: "color" }, to: { node: "principled_base", socket: "color" } },
|
|
55
63
|
{ from: { node: "principled_base", socket: "color" }, to: { node: "principled", socket: "base_color" } },
|
|
56
64
|
{ from: { node: "bump", socket: "vector" }, to: { node: "principled", socket: "normal" } },
|
|
57
65
|
{ from: { node: "npr_emit", socket: "color" }, to: { node: "mix_shader_001", socket: "a" } },
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cloth_smooth.d.ts","sourceRoot":"","sources":["../../../src/graph/presets/cloth_smooth.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,WAAW,CAAA;AAE5C,eAAO,MAAM,kBAAkB,EAAE,
|
|
1
|
+
{"version":3,"file":"cloth_smooth.d.ts","sourceRoot":"","sources":["../../../src/graph/presets/cloth_smooth.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,WAAW,CAAA;AAE5C,eAAO,MAAM,kBAAkB,EAAE,WAwDhC,CAAA"}
|
|
@@ -8,6 +8,12 @@ export const CLOTH_SMOOTH_GRAPH = {
|
|
|
8
8
|
tags: ["cloth_smooth"],
|
|
9
9
|
nodes: [
|
|
10
10
|
{ id: "tex", type: "texture" },
|
|
11
|
+
// Base colour: the texture times the PMX material's diffuse. MMD authors
|
|
12
|
+
// tint per MATERIAL rather than per texel — an eyebrow sharing the face
|
|
13
|
+
// atlas is painted once and coloured here — so the diffuse belongs in the
|
|
14
|
+
// base of every look.
|
|
15
|
+
{ id: "mat_diffuse", type: "material_diffuse" },
|
|
16
|
+
{ id: "tex_base", type: "mix/multiply", inputs: { fac: 1.0 } },
|
|
11
17
|
{ id: "geo", type: "geometry" },
|
|
12
18
|
{ id: "str", type: "shader_to_rgb_diffuse" },
|
|
13
19
|
{ id: "ramp_008", type: "ramp_constant_aa", inputs: { edge: 0.2966 } },
|
|
@@ -31,10 +37,12 @@ export const CLOTH_SMOOTH_GRAPH = {
|
|
|
31
37
|
links: [
|
|
32
38
|
{ from: { node: "str", socket: "value" }, to: { node: "ramp_008", socket: "fac" } },
|
|
33
39
|
{ from: { node: "ramp_008", socket: "fac_out" }, to: { node: "mix04_fac", socket: "a" } },
|
|
34
|
-
{ from: { node: "tex", socket: "color" }, to: { node: "
|
|
40
|
+
{ from: { node: "tex", socket: "color" }, to: { node: "tex_base", socket: "a" } },
|
|
41
|
+
{ from: { node: "mat_diffuse", socket: "color" }, to: { node: "tex_base", socket: "b" } },
|
|
42
|
+
{ from: { node: "tex_base", socket: "color" }, to: { node: "dark_tex", socket: "color" } },
|
|
35
43
|
{ from: { node: "mix04_fac", socket: "value" }, to: { node: "mix_004", socket: "fac" } },
|
|
36
44
|
{ from: { node: "dark_tex", socket: "color" }, to: { node: "mix_004", socket: "a" } },
|
|
37
|
-
{ from: { node: "
|
|
45
|
+
{ from: { node: "tex_base", socket: "color" }, to: { node: "mix_004", socket: "b" } },
|
|
38
46
|
{ from: { node: "geo", socket: "normal" }, to: { node: "sep_n", socket: "vector" } },
|
|
39
47
|
{ from: { node: "sep_n", socket: "y" }, to: { node: "bevel_clamp", socket: "a" } },
|
|
40
48
|
{ from: { node: "bevel_clamp", socket: "value" }, to: { node: "mix_003", socket: "fac" } },
|
|
@@ -44,7 +52,7 @@ export const CLOTH_SMOOTH_GRAPH = {
|
|
|
44
52
|
{ from: { node: "mix_003", socket: "color" }, to: { node: "npr_overlay", socket: "a" } },
|
|
45
53
|
{ from: { node: "hue_004", socket: "color" }, to: { node: "npr_overlay", socket: "b" } },
|
|
46
54
|
{ from: { node: "npr_overlay", socket: "color" }, to: { node: "npr_emit", socket: "color" } },
|
|
47
|
-
{ from: { node: "
|
|
55
|
+
{ from: { node: "tex_base", socket: "color" }, to: { node: "principled_base", socket: "color" } },
|
|
48
56
|
{ from: { node: "principled_base", socket: "color" }, to: { node: "principled", socket: "base_color" } },
|
|
49
57
|
{ from: { node: "npr_emit", socket: "color" }, to: { node: "mix_shader_001", socket: "a" } },
|
|
50
58
|
{ from: { node: "principled", socket: "color" }, to: { node: "mix_shader_001", socket: "b" } },
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eye.d.ts","sourceRoot":"","sources":["../../../src/graph/presets/eye.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,WAAW,CAAA;AAE5C,eAAO,MAAM,SAAS,EAAE,
|
|
1
|
+
{"version":3,"file":"eye.d.ts","sourceRoot":"","sources":["../../../src/graph/presets/eye.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,WAAW,CAAA;AAE5C,eAAO,MAAM,SAAS,EAAE,WA6BvB,CAAA"}
|
|
@@ -12,6 +12,12 @@ export const EYE_GRAPH = {
|
|
|
12
12
|
tags: ["eye"],
|
|
13
13
|
nodes: [
|
|
14
14
|
{ id: "tex", type: "texture" },
|
|
15
|
+
// Base colour: the texture times the PMX material's diffuse. MMD authors
|
|
16
|
+
// tint per MATERIAL rather than per texel — an eyebrow sharing the face
|
|
17
|
+
// atlas is painted once and coloured here — so the diffuse belongs in the
|
|
18
|
+
// base of every look.
|
|
19
|
+
{ id: "mat_diffuse", type: "material_diffuse" },
|
|
20
|
+
{ id: "tex_base", type: "mix/multiply", inputs: { fac: 1.0 } },
|
|
15
21
|
{
|
|
16
22
|
id: "principled",
|
|
17
23
|
type: "principled",
|
|
@@ -21,8 +27,10 @@ export const EYE_GRAPH = {
|
|
|
21
27
|
{ id: "add", type: "add_shader" },
|
|
22
28
|
],
|
|
23
29
|
links: [
|
|
24
|
-
{ from: { node: "tex", socket: "color" }, to: { node: "
|
|
25
|
-
{ from: { node: "
|
|
30
|
+
{ from: { node: "tex", socket: "color" }, to: { node: "tex_base", socket: "a" } },
|
|
31
|
+
{ from: { node: "mat_diffuse", socket: "color" }, to: { node: "tex_base", socket: "b" } },
|
|
32
|
+
{ from: { node: "tex_base", socket: "color" }, to: { node: "principled", socket: "base_color" } },
|
|
33
|
+
{ from: { node: "tex_base", socket: "color" }, to: { node: "emission", socket: "color" } },
|
|
26
34
|
{ from: { node: "principled", socket: "color" }, to: { node: "add", socket: "a" } },
|
|
27
35
|
{ from: { node: "emission", socket: "color" }, to: { node: "add", socket: "b" } },
|
|
28
36
|
],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"face.d.ts","sourceRoot":"","sources":["../../../src/graph/presets/face.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,WAAW,CAAA;AAE5C,eAAO,MAAM,UAAU,EAAE,
|
|
1
|
+
{"version":3,"file":"face.d.ts","sourceRoot":"","sources":["../../../src/graph/presets/face.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,WAAW,CAAA;AAE5C,eAAO,MAAM,UAAU,EAAE,WAqIxB,CAAA"}
|
|
@@ -11,6 +11,12 @@ export const FACE_GRAPH = {
|
|
|
11
11
|
tags: ["face"],
|
|
12
12
|
nodes: [
|
|
13
13
|
{ id: "tex", type: "texture" },
|
|
14
|
+
// Base colour: the texture times the PMX material's diffuse. MMD authors
|
|
15
|
+
// tint per MATERIAL rather than per texel — an eyebrow sharing the face
|
|
16
|
+
// atlas is painted once and coloured here — so the diffuse belongs in the
|
|
17
|
+
// base of every look.
|
|
18
|
+
{ id: "mat_diffuse", type: "material_diffuse" },
|
|
19
|
+
{ id: "tex_base", type: "mix/multiply", inputs: { fac: 1.0 } },
|
|
14
20
|
{ id: "geo", type: "geometry" },
|
|
15
21
|
// ── toon shading ──
|
|
16
22
|
{ id: "str", type: "shader_to_rgb_diffuse" },
|
|
@@ -71,8 +77,10 @@ export const FACE_GRAPH = {
|
|
|
71
77
|
links: [
|
|
72
78
|
// toon
|
|
73
79
|
{ from: { node: "str", socket: "value" }, to: { node: "toon", socket: "fac" } },
|
|
74
|
-
{ from: { node: "tex", socket: "color" }, to: { node: "
|
|
75
|
-
{ from: { node: "
|
|
80
|
+
{ from: { node: "tex", socket: "color" }, to: { node: "tex_base", socket: "a" } },
|
|
81
|
+
{ from: { node: "mat_diffuse", socket: "color" }, to: { node: "tex_base", socket: "b" } },
|
|
82
|
+
{ from: { node: "tex_base", socket: "color" }, to: { node: "shadow_tint", socket: "color" } },
|
|
83
|
+
{ from: { node: "tex_base", socket: "color" }, to: { node: "lit_tint", socket: "color" } },
|
|
76
84
|
{ from: { node: "toon", socket: "fac_out" }, to: { node: "toon_color", socket: "fac" } },
|
|
77
85
|
{ from: { node: "shadow_tint", socket: "color" }, to: { node: "toon_color", socket: "a" } },
|
|
78
86
|
{ from: { node: "lit_tint", socket: "color" }, to: { node: "toon_color", socket: "b" } },
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hair.d.ts","sourceRoot":"","sources":["../../../src/graph/presets/hair.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,WAAW,CAAA;AAE5C,eAAO,MAAM,UAAU,EAAE,
|
|
1
|
+
{"version":3,"file":"hair.d.ts","sourceRoot":"","sources":["../../../src/graph/presets/hair.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,WAAW,CAAA;AAE5C,eAAO,MAAM,UAAU,EAAE,WA2ExB,CAAA"}
|
|
@@ -15,6 +15,12 @@ export const HAIR_GRAPH = {
|
|
|
15
15
|
tags: ["hair"],
|
|
16
16
|
nodes: [
|
|
17
17
|
{ id: "tex", type: "texture" },
|
|
18
|
+
// Base colour: the texture times the PMX material's diffuse. MMD authors
|
|
19
|
+
// tint per MATERIAL rather than per texel — an eyebrow sharing the face
|
|
20
|
+
// atlas is painted once and coloured here — so the diffuse belongs in the
|
|
21
|
+
// base of every look.
|
|
22
|
+
{ id: "mat_diffuse", type: "material_diffuse" },
|
|
23
|
+
{ id: "tex_base", type: "mix/multiply", inputs: { fac: 1.0 } },
|
|
18
24
|
{ id: "geo", type: "geometry" },
|
|
19
25
|
{ id: "hs_shadow", type: "hue_sat", inputs: { hue: 0.5, saturation: 1.2, value: 0.5, fac: 1.0 } },
|
|
20
26
|
{ id: "hs_002", type: "hue_sat", inputs: { hue: 0.48, saturation: 1.2, value: 0.7, fac: 1.0 } },
|
|
@@ -46,9 +52,11 @@ export const HAIR_GRAPH = {
|
|
|
46
52
|
{ id: "mix_shader_001", type: "mix_shader", inputs: { fac: 0.2 } },
|
|
47
53
|
],
|
|
48
54
|
links: [
|
|
49
|
-
{ from: { node: "tex", socket: "color" }, to: { node: "
|
|
55
|
+
{ from: { node: "tex", socket: "color" }, to: { node: "tex_base", socket: "a" } },
|
|
56
|
+
{ from: { node: "mat_diffuse", socket: "color" }, to: { node: "tex_base", socket: "b" } },
|
|
57
|
+
{ from: { node: "tex_base", socket: "color" }, to: { node: "hs_shadow", socket: "color" } },
|
|
50
58
|
{ from: { node: "hs_shadow", socket: "color" }, to: { node: "hs_002", socket: "color" } },
|
|
51
|
-
{ from: { node: "
|
|
59
|
+
{ from: { node: "tex_base", socket: "color" }, to: { node: "hs_001", socket: "color" } },
|
|
52
60
|
{ from: { node: "str", socket: "value" }, to: { node: "ramp_008", socket: "fac" } },
|
|
53
61
|
{ from: { node: "ramp_008", socket: "fac_out" }, to: { node: "mix_004", socket: "fac" } },
|
|
54
62
|
{ from: { node: "hs_002", socket: "color" }, to: { node: "mix_004", socket: "a" } },
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"metal.d.ts","sourceRoot":"","sources":["../../../src/graph/presets/metal.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,WAAW,CAAA;AAE5C,eAAO,MAAM,WAAW,EAAE,
|
|
1
|
+
{"version":3,"file":"metal.d.ts","sourceRoot":"","sources":["../../../src/graph/presets/metal.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,WAAW,CAAA;AAE5C,eAAO,MAAM,WAAW,EAAE,WA4DzB,CAAA"}
|
|
@@ -9,6 +9,12 @@ export const METAL_GRAPH = {
|
|
|
9
9
|
tags: ["metal"],
|
|
10
10
|
nodes: [
|
|
11
11
|
{ id: "tex", type: "texture" },
|
|
12
|
+
// Base colour: the texture times the PMX material's diffuse. MMD authors
|
|
13
|
+
// tint per MATERIAL rather than per texel — an eyebrow sharing the face
|
|
14
|
+
// atlas is painted once and coloured here — so the diffuse belongs in the
|
|
15
|
+
// base of every look.
|
|
16
|
+
{ id: "mat_diffuse", type: "material_diffuse" },
|
|
17
|
+
{ id: "tex_base", type: "mix/multiply", inputs: { fac: 1.0 } },
|
|
12
18
|
{ id: "geo", type: "geometry" },
|
|
13
19
|
{ id: "tex_tint", type: "hue_sat", inputs: { hue: 0.5, saturation: 1.0, value: 0.800000011920929, fac: 1.0 } },
|
|
14
20
|
{ id: "str", type: "shader_to_rgb_diffuse" },
|
|
@@ -32,7 +38,9 @@ export const METAL_GRAPH = {
|
|
|
32
38
|
{ id: "mix_shader_001", type: "mix_shader", inputs: { fac: 0.6967 } },
|
|
33
39
|
],
|
|
34
40
|
links: [
|
|
35
|
-
{ from: { node: "tex", socket: "color" }, to: { node: "
|
|
41
|
+
{ from: { node: "tex", socket: "color" }, to: { node: "tex_base", socket: "a" } },
|
|
42
|
+
{ from: { node: "mat_diffuse", socket: "color" }, to: { node: "tex_base", socket: "b" } },
|
|
43
|
+
{ from: { node: "tex_base", socket: "color" }, to: { node: "tex_tint", socket: "color" } },
|
|
36
44
|
{ from: { node: "str", socket: "value" }, to: { node: "ramp_008", socket: "fac" } },
|
|
37
45
|
{ from: { node: "ramp_008", socket: "fac_out" }, to: { node: "mix04_fac", socket: "a" } },
|
|
38
46
|
{ from: { node: "tex_tint", socket: "color" }, to: { node: "dark_tex", socket: "color" } },
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stockings.d.ts","sourceRoot":"","sources":["../../../src/graph/presets/stockings.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,WAAW,CAAA;AAE5C,eAAO,MAAM,eAAe,EAAE,
|
|
1
|
+
{"version":3,"file":"stockings.d.ts","sourceRoot":"","sources":["../../../src/graph/presets/stockings.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,WAAW,CAAA;AAE5C,eAAO,MAAM,eAAe,EAAE,WAsD7B,CAAA"}
|
|
@@ -11,6 +11,12 @@ export const STOCKINGS_GRAPH = {
|
|
|
11
11
|
tags: ["stockings"],
|
|
12
12
|
nodes: [
|
|
13
13
|
{ id: "tex", type: "texture" },
|
|
14
|
+
// Base colour: the texture times the PMX material's diffuse. MMD authors
|
|
15
|
+
// tint per MATERIAL rather than per texel — an eyebrow sharing the face
|
|
16
|
+
// atlas is painted once and coloured here — so the diffuse belongs in the
|
|
17
|
+
// base of every look.
|
|
18
|
+
{ id: "mat_diffuse", type: "material_diffuse" },
|
|
19
|
+
{ id: "tex_base", type: "mix/multiply", inputs: { fac: 1.0 } },
|
|
14
20
|
{ id: "geo", type: "geometry" },
|
|
15
21
|
{ id: "map", type: "mapping", inputs: { loc: [1.0, 1.0, 1.0], rot: [0.0, 1.5708, 1.5708] } },
|
|
16
22
|
{ id: "grad", type: "tex_gradient" },
|
|
@@ -44,8 +50,10 @@ export const STOCKINGS_GRAPH = {
|
|
|
44
50
|
{ from: { node: "ramp_face", socket: "fac_out" }, to: { node: "mix_001", socket: "b" } },
|
|
45
51
|
{ from: { node: "mix_001", socket: "color" }, to: { node: "mask", socket: "a" } },
|
|
46
52
|
{ from: { node: "ramp_002", socket: "fac_out" }, to: { node: "mask", socket: "b" } },
|
|
47
|
-
{ from: { node: "tex", socket: "color" }, to: { node: "
|
|
48
|
-
{ from: { node: "
|
|
53
|
+
{ from: { node: "tex", socket: "color" }, to: { node: "tex_base", socket: "a" } },
|
|
54
|
+
{ from: { node: "mat_diffuse", socket: "color" }, to: { node: "tex_base", socket: "b" } },
|
|
55
|
+
{ from: { node: "tex_base", socket: "color" }, to: { node: "emission_hs", socket: "color" } },
|
|
56
|
+
{ from: { node: "tex_base", socket: "color" }, to: { node: "principled", socket: "base_color" } },
|
|
49
57
|
{ from: { node: "emission_hs", socket: "color" }, to: { node: "mix_shader_001", socket: "a" } },
|
|
50
58
|
{ from: { node: "principled", socket: "color" }, to: { node: "mix_shader_001", socket: "b" } },
|
|
51
59
|
{ from: { node: "mask", socket: "color" }, to: { node: "mix_shader_001", socket: "fac" } },
|
package/package.json
CHANGED
|
@@ -11,6 +11,12 @@ export const BODY_GRAPH: ShaderGraph = {
|
|
|
11
11
|
tags: ["body"],
|
|
12
12
|
nodes: [
|
|
13
13
|
{ id: "tex", type: "texture" },
|
|
14
|
+
// Base colour: the texture times the PMX material's diffuse. MMD authors
|
|
15
|
+
// tint per MATERIAL rather than per texel — an eyebrow sharing the face
|
|
16
|
+
// atlas is painted once and coloured here — so the diffuse belongs in the
|
|
17
|
+
// base of every look.
|
|
18
|
+
{ id: "mat_diffuse", type: "material_diffuse" },
|
|
19
|
+
{ id: "tex_base", type: "mix/multiply", inputs: { fac: 1.0 } },
|
|
14
20
|
{ id: "geo", type: "geometry" },
|
|
15
21
|
{ id: "str", type: "shader_to_rgb_diffuse" },
|
|
16
22
|
{ id: "toon", type: "ramp_constant", inputs: { pos0: 0.0, pos1: 0.2966 } },
|
|
@@ -62,8 +68,10 @@ export const BODY_GRAPH: ShaderGraph = {
|
|
|
62
68
|
],
|
|
63
69
|
links: [
|
|
64
70
|
{ from: { node: "str", socket: "value" }, to: { node: "toon", socket: "fac" } },
|
|
65
|
-
{ from: { node: "tex", socket: "color" }, to: { node: "
|
|
66
|
-
{ from: { node: "
|
|
71
|
+
{ from: { node: "tex", socket: "color" }, to: { node: "tex_base", socket: "a" } },
|
|
72
|
+
{ from: { node: "mat_diffuse", socket: "color" }, to: { node: "tex_base", socket: "b" } },
|
|
73
|
+
{ from: { node: "tex_base", socket: "color" }, to: { node: "shadow_tint", socket: "color" } },
|
|
74
|
+
{ from: { node: "tex_base", socket: "color" }, to: { node: "lit_tint", socket: "color" } },
|
|
67
75
|
{ from: { node: "toon", socket: "fac_out" }, to: { node: "toon_color", socket: "fac" } },
|
|
68
76
|
{ from: { node: "shadow_tint", socket: "color" }, to: { node: "toon_color", socket: "a" } },
|
|
69
77
|
{ from: { node: "lit_tint", socket: "color" }, to: { node: "toon_color", socket: "b" } },
|
|
@@ -11,6 +11,12 @@ export const CLOTH_ROUGH_GRAPH: ShaderGraph = {
|
|
|
11
11
|
tags: ["cloth_rough"],
|
|
12
12
|
nodes: [
|
|
13
13
|
{ id: "tex", type: "texture" },
|
|
14
|
+
// Base colour: the texture times the PMX material's diffuse. MMD authors
|
|
15
|
+
// tint per MATERIAL rather than per texel — an eyebrow sharing the face
|
|
16
|
+
// atlas is painted once and coloured here — so the diffuse belongs in the
|
|
17
|
+
// base of every look.
|
|
18
|
+
{ id: "mat_diffuse", type: "material_diffuse" },
|
|
19
|
+
{ id: "tex_base", type: "mix/multiply", inputs: { fac: 1.0 } },
|
|
14
20
|
{ id: "geo", type: "geometry" },
|
|
15
21
|
{ id: "str", type: "shader_to_rgb_diffuse" },
|
|
16
22
|
{ id: "ramp_008", type: "ramp_constant_aa", inputs: { edge: 0.2966 } },
|
|
@@ -37,10 +43,12 @@ export const CLOTH_ROUGH_GRAPH: ShaderGraph = {
|
|
|
37
43
|
links: [
|
|
38
44
|
{ from: { node: "str", socket: "value" }, to: { node: "ramp_008", socket: "fac" } },
|
|
39
45
|
{ from: { node: "ramp_008", socket: "fac_out" }, to: { node: "mix04_fac", socket: "a" } },
|
|
40
|
-
{ from: { node: "tex", socket: "color" }, to: { node: "
|
|
46
|
+
{ from: { node: "tex", socket: "color" }, to: { node: "tex_base", socket: "a" } },
|
|
47
|
+
{ from: { node: "mat_diffuse", socket: "color" }, to: { node: "tex_base", socket: "b" } },
|
|
48
|
+
{ from: { node: "tex_base", socket: "color" }, to: { node: "dark_tex", socket: "color" } },
|
|
41
49
|
{ from: { node: "mix04_fac", socket: "value" }, to: { node: "mix_004", socket: "fac" } },
|
|
42
50
|
{ from: { node: "dark_tex", socket: "color" }, to: { node: "mix_004", socket: "a" } },
|
|
43
|
-
{ from: { node: "
|
|
51
|
+
{ from: { node: "tex_base", socket: "color" }, to: { node: "mix_004", socket: "b" } },
|
|
44
52
|
{ from: { node: "geo", socket: "normal" }, to: { node: "sep_n", socket: "vector" } },
|
|
45
53
|
{ from: { node: "sep_n", socket: "y" }, to: { node: "bevel_clamp", socket: "a" } },
|
|
46
54
|
{ from: { node: "bevel_clamp", socket: "value" }, to: { node: "mix_003", socket: "fac" } },
|
|
@@ -54,7 +62,7 @@ export const CLOTH_ROUGH_GRAPH: ShaderGraph = {
|
|
|
54
62
|
{ from: { node: "noise", socket: "value" }, to: { node: "noise_ramp", socket: "fac" } },
|
|
55
63
|
{ from: { node: "noise_ramp", socket: "fac_out" }, to: { node: "bump", socket: "height" } },
|
|
56
64
|
{ from: { node: "geo", socket: "normal" }, to: { node: "bump", socket: "normal" } },
|
|
57
|
-
{ from: { node: "
|
|
65
|
+
{ from: { node: "tex_base", socket: "color" }, to: { node: "principled_base", socket: "color" } },
|
|
58
66
|
{ from: { node: "principled_base", socket: "color" }, to: { node: "principled", socket: "base_color" } },
|
|
59
67
|
{ from: { node: "bump", socket: "vector" }, to: { node: "principled", socket: "normal" } },
|
|
60
68
|
{ from: { node: "npr_emit", socket: "color" }, to: { node: "mix_shader_001", socket: "a" } },
|
|
@@ -11,6 +11,12 @@ export const CLOTH_SMOOTH_GRAPH: ShaderGraph = {
|
|
|
11
11
|
tags: ["cloth_smooth"],
|
|
12
12
|
nodes: [
|
|
13
13
|
{ id: "tex", type: "texture" },
|
|
14
|
+
// Base colour: the texture times the PMX material's diffuse. MMD authors
|
|
15
|
+
// tint per MATERIAL rather than per texel — an eyebrow sharing the face
|
|
16
|
+
// atlas is painted once and coloured here — so the diffuse belongs in the
|
|
17
|
+
// base of every look.
|
|
18
|
+
{ id: "mat_diffuse", type: "material_diffuse" },
|
|
19
|
+
{ id: "tex_base", type: "mix/multiply", inputs: { fac: 1.0 } },
|
|
14
20
|
{ id: "geo", type: "geometry" },
|
|
15
21
|
{ id: "str", type: "shader_to_rgb_diffuse" },
|
|
16
22
|
{ id: "ramp_008", type: "ramp_constant_aa", inputs: { edge: 0.2966 } },
|
|
@@ -34,10 +40,12 @@ export const CLOTH_SMOOTH_GRAPH: ShaderGraph = {
|
|
|
34
40
|
links: [
|
|
35
41
|
{ from: { node: "str", socket: "value" }, to: { node: "ramp_008", socket: "fac" } },
|
|
36
42
|
{ from: { node: "ramp_008", socket: "fac_out" }, to: { node: "mix04_fac", socket: "a" } },
|
|
37
|
-
{ from: { node: "tex", socket: "color" }, to: { node: "
|
|
43
|
+
{ from: { node: "tex", socket: "color" }, to: { node: "tex_base", socket: "a" } },
|
|
44
|
+
{ from: { node: "mat_diffuse", socket: "color" }, to: { node: "tex_base", socket: "b" } },
|
|
45
|
+
{ from: { node: "tex_base", socket: "color" }, to: { node: "dark_tex", socket: "color" } },
|
|
38
46
|
{ from: { node: "mix04_fac", socket: "value" }, to: { node: "mix_004", socket: "fac" } },
|
|
39
47
|
{ from: { node: "dark_tex", socket: "color" }, to: { node: "mix_004", socket: "a" } },
|
|
40
|
-
{ from: { node: "
|
|
48
|
+
{ from: { node: "tex_base", socket: "color" }, to: { node: "mix_004", socket: "b" } },
|
|
41
49
|
{ from: { node: "geo", socket: "normal" }, to: { node: "sep_n", socket: "vector" } },
|
|
42
50
|
{ from: { node: "sep_n", socket: "y" }, to: { node: "bevel_clamp", socket: "a" } },
|
|
43
51
|
{ from: { node: "bevel_clamp", socket: "value" }, to: { node: "mix_003", socket: "fac" } },
|
|
@@ -47,7 +55,7 @@ export const CLOTH_SMOOTH_GRAPH: ShaderGraph = {
|
|
|
47
55
|
{ from: { node: "mix_003", socket: "color" }, to: { node: "npr_overlay", socket: "a" } },
|
|
48
56
|
{ from: { node: "hue_004", socket: "color" }, to: { node: "npr_overlay", socket: "b" } },
|
|
49
57
|
{ from: { node: "npr_overlay", socket: "color" }, to: { node: "npr_emit", socket: "color" } },
|
|
50
|
-
{ from: { node: "
|
|
58
|
+
{ from: { node: "tex_base", socket: "color" }, to: { node: "principled_base", socket: "color" } },
|
|
51
59
|
{ from: { node: "principled_base", socket: "color" }, to: { node: "principled", socket: "base_color" } },
|
|
52
60
|
{ from: { node: "npr_emit", socket: "color" }, to: { node: "mix_shader_001", socket: "a" } },
|
|
53
61
|
{ from: { node: "principled", socket: "color" }, to: { node: "mix_shader_001", socket: "b" } },
|
package/src/graph/presets/eye.ts
CHANGED
|
@@ -15,6 +15,12 @@ export const EYE_GRAPH: ShaderGraph = {
|
|
|
15
15
|
tags: ["eye"],
|
|
16
16
|
nodes: [
|
|
17
17
|
{ id: "tex", type: "texture" },
|
|
18
|
+
// Base colour: the texture times the PMX material's diffuse. MMD authors
|
|
19
|
+
// tint per MATERIAL rather than per texel — an eyebrow sharing the face
|
|
20
|
+
// atlas is painted once and coloured here — so the diffuse belongs in the
|
|
21
|
+
// base of every look.
|
|
22
|
+
{ id: "mat_diffuse", type: "material_diffuse" },
|
|
23
|
+
{ id: "tex_base", type: "mix/multiply", inputs: { fac: 1.0 } },
|
|
18
24
|
{
|
|
19
25
|
id: "principled",
|
|
20
26
|
type: "principled",
|
|
@@ -24,8 +30,10 @@ export const EYE_GRAPH: ShaderGraph = {
|
|
|
24
30
|
{ id: "add", type: "add_shader" },
|
|
25
31
|
],
|
|
26
32
|
links: [
|
|
27
|
-
{ from: { node: "tex", socket: "color" }, to: { node: "
|
|
28
|
-
{ from: { node: "
|
|
33
|
+
{ from: { node: "tex", socket: "color" }, to: { node: "tex_base", socket: "a" } },
|
|
34
|
+
{ from: { node: "mat_diffuse", socket: "color" }, to: { node: "tex_base", socket: "b" } },
|
|
35
|
+
{ from: { node: "tex_base", socket: "color" }, to: { node: "principled", socket: "base_color" } },
|
|
36
|
+
{ from: { node: "tex_base", socket: "color" }, to: { node: "emission", socket: "color" } },
|
|
29
37
|
{ from: { node: "principled", socket: "color" }, to: { node: "add", socket: "a" } },
|
|
30
38
|
{ from: { node: "emission", socket: "color" }, to: { node: "add", socket: "b" } },
|
|
31
39
|
],
|
|
@@ -14,6 +14,12 @@ export const FACE_GRAPH: ShaderGraph = {
|
|
|
14
14
|
tags: ["face"],
|
|
15
15
|
nodes: [
|
|
16
16
|
{ id: "tex", type: "texture" },
|
|
17
|
+
// Base colour: the texture times the PMX material's diffuse. MMD authors
|
|
18
|
+
// tint per MATERIAL rather than per texel — an eyebrow sharing the face
|
|
19
|
+
// atlas is painted once and coloured here — so the diffuse belongs in the
|
|
20
|
+
// base of every look.
|
|
21
|
+
{ id: "mat_diffuse", type: "material_diffuse" },
|
|
22
|
+
{ id: "tex_base", type: "mix/multiply", inputs: { fac: 1.0 } },
|
|
17
23
|
{ id: "geo", type: "geometry" },
|
|
18
24
|
|
|
19
25
|
// ── toon shading ──
|
|
@@ -82,8 +88,10 @@ export const FACE_GRAPH: ShaderGraph = {
|
|
|
82
88
|
links: [
|
|
83
89
|
// toon
|
|
84
90
|
{ from: { node: "str", socket: "value" }, to: { node: "toon", socket: "fac" } },
|
|
85
|
-
{ from: { node: "tex", socket: "color" }, to: { node: "
|
|
86
|
-
{ from: { node: "
|
|
91
|
+
{ from: { node: "tex", socket: "color" }, to: { node: "tex_base", socket: "a" } },
|
|
92
|
+
{ from: { node: "mat_diffuse", socket: "color" }, to: { node: "tex_base", socket: "b" } },
|
|
93
|
+
{ from: { node: "tex_base", socket: "color" }, to: { node: "shadow_tint", socket: "color" } },
|
|
94
|
+
{ from: { node: "tex_base", socket: "color" }, to: { node: "lit_tint", socket: "color" } },
|
|
87
95
|
{ from: { node: "toon", socket: "fac_out" }, to: { node: "toon_color", socket: "fac" } },
|
|
88
96
|
{ from: { node: "shadow_tint", socket: "color" }, to: { node: "toon_color", socket: "a" } },
|
|
89
97
|
{ from: { node: "lit_tint", socket: "color" }, to: { node: "toon_color", socket: "b" } },
|
|
@@ -18,6 +18,12 @@ export const HAIR_GRAPH: ShaderGraph = {
|
|
|
18
18
|
tags: ["hair"],
|
|
19
19
|
nodes: [
|
|
20
20
|
{ id: "tex", type: "texture" },
|
|
21
|
+
// Base colour: the texture times the PMX material's diffuse. MMD authors
|
|
22
|
+
// tint per MATERIAL rather than per texel — an eyebrow sharing the face
|
|
23
|
+
// atlas is painted once and coloured here — so the diffuse belongs in the
|
|
24
|
+
// base of every look.
|
|
25
|
+
{ id: "mat_diffuse", type: "material_diffuse" },
|
|
26
|
+
{ id: "tex_base", type: "mix/multiply", inputs: { fac: 1.0 } },
|
|
21
27
|
{ id: "geo", type: "geometry" },
|
|
22
28
|
{ id: "hs_shadow", type: "hue_sat", inputs: { hue: 0.5, saturation: 1.2, value: 0.5, fac: 1.0 } },
|
|
23
29
|
{ id: "hs_002", type: "hue_sat", inputs: { hue: 0.48, saturation: 1.2, value: 0.7, fac: 1.0 } },
|
|
@@ -49,9 +55,11 @@ export const HAIR_GRAPH: ShaderGraph = {
|
|
|
49
55
|
{ id: "mix_shader_001", type: "mix_shader", inputs: { fac: 0.2 } },
|
|
50
56
|
],
|
|
51
57
|
links: [
|
|
52
|
-
{ from: { node: "tex", socket: "color" }, to: { node: "
|
|
58
|
+
{ from: { node: "tex", socket: "color" }, to: { node: "tex_base", socket: "a" } },
|
|
59
|
+
{ from: { node: "mat_diffuse", socket: "color" }, to: { node: "tex_base", socket: "b" } },
|
|
60
|
+
{ from: { node: "tex_base", socket: "color" }, to: { node: "hs_shadow", socket: "color" } },
|
|
53
61
|
{ from: { node: "hs_shadow", socket: "color" }, to: { node: "hs_002", socket: "color" } },
|
|
54
|
-
{ from: { node: "
|
|
62
|
+
{ from: { node: "tex_base", socket: "color" }, to: { node: "hs_001", socket: "color" } },
|
|
55
63
|
{ from: { node: "str", socket: "value" }, to: { node: "ramp_008", socket: "fac" } },
|
|
56
64
|
{ from: { node: "ramp_008", socket: "fac_out" }, to: { node: "mix_004", socket: "fac" } },
|
|
57
65
|
{ from: { node: "hs_002", socket: "color" }, to: { node: "mix_004", socket: "a" } },
|
|
@@ -12,6 +12,12 @@ export const METAL_GRAPH: ShaderGraph = {
|
|
|
12
12
|
tags: ["metal"],
|
|
13
13
|
nodes: [
|
|
14
14
|
{ id: "tex", type: "texture" },
|
|
15
|
+
// Base colour: the texture times the PMX material's diffuse. MMD authors
|
|
16
|
+
// tint per MATERIAL rather than per texel — an eyebrow sharing the face
|
|
17
|
+
// atlas is painted once and coloured here — so the diffuse belongs in the
|
|
18
|
+
// base of every look.
|
|
19
|
+
{ id: "mat_diffuse", type: "material_diffuse" },
|
|
20
|
+
{ id: "tex_base", type: "mix/multiply", inputs: { fac: 1.0 } },
|
|
15
21
|
{ id: "geo", type: "geometry" },
|
|
16
22
|
{ id: "tex_tint", type: "hue_sat", inputs: { hue: 0.5, saturation: 1.0, value: 0.800000011920929, fac: 1.0 } },
|
|
17
23
|
{ id: "str", type: "shader_to_rgb_diffuse" },
|
|
@@ -35,7 +41,9 @@ export const METAL_GRAPH: ShaderGraph = {
|
|
|
35
41
|
{ id: "mix_shader_001", type: "mix_shader", inputs: { fac: 0.6967 } },
|
|
36
42
|
],
|
|
37
43
|
links: [
|
|
38
|
-
{ from: { node: "tex", socket: "color" }, to: { node: "
|
|
44
|
+
{ from: { node: "tex", socket: "color" }, to: { node: "tex_base", socket: "a" } },
|
|
45
|
+
{ from: { node: "mat_diffuse", socket: "color" }, to: { node: "tex_base", socket: "b" } },
|
|
46
|
+
{ from: { node: "tex_base", socket: "color" }, to: { node: "tex_tint", socket: "color" } },
|
|
39
47
|
{ from: { node: "str", socket: "value" }, to: { node: "ramp_008", socket: "fac" } },
|
|
40
48
|
{ from: { node: "ramp_008", socket: "fac_out" }, to: { node: "mix04_fac", socket: "a" } },
|
|
41
49
|
{ from: { node: "tex_tint", socket: "color" }, to: { node: "dark_tex", socket: "color" } },
|
|
@@ -14,6 +14,12 @@ export const STOCKINGS_GRAPH: ShaderGraph = {
|
|
|
14
14
|
tags: ["stockings"],
|
|
15
15
|
nodes: [
|
|
16
16
|
{ id: "tex", type: "texture" },
|
|
17
|
+
// Base colour: the texture times the PMX material's diffuse. MMD authors
|
|
18
|
+
// tint per MATERIAL rather than per texel — an eyebrow sharing the face
|
|
19
|
+
// atlas is painted once and coloured here — so the diffuse belongs in the
|
|
20
|
+
// base of every look.
|
|
21
|
+
{ id: "mat_diffuse", type: "material_diffuse" },
|
|
22
|
+
{ id: "tex_base", type: "mix/multiply", inputs: { fac: 1.0 } },
|
|
17
23
|
{ id: "geo", type: "geometry" },
|
|
18
24
|
{ id: "map", type: "mapping", inputs: { loc: [1.0, 1.0, 1.0], rot: [0.0, 1.5708, 1.5708] } },
|
|
19
25
|
{ id: "grad", type: "tex_gradient" },
|
|
@@ -47,8 +53,10 @@ export const STOCKINGS_GRAPH: ShaderGraph = {
|
|
|
47
53
|
{ from: { node: "ramp_face", socket: "fac_out" }, to: { node: "mix_001", socket: "b" } },
|
|
48
54
|
{ from: { node: "mix_001", socket: "color" }, to: { node: "mask", socket: "a" } },
|
|
49
55
|
{ from: { node: "ramp_002", socket: "fac_out" }, to: { node: "mask", socket: "b" } },
|
|
50
|
-
{ from: { node: "tex", socket: "color" }, to: { node: "
|
|
51
|
-
{ from: { node: "
|
|
56
|
+
{ from: { node: "tex", socket: "color" }, to: { node: "tex_base", socket: "a" } },
|
|
57
|
+
{ from: { node: "mat_diffuse", socket: "color" }, to: { node: "tex_base", socket: "b" } },
|
|
58
|
+
{ from: { node: "tex_base", socket: "color" }, to: { node: "emission_hs", socket: "color" } },
|
|
59
|
+
{ from: { node: "tex_base", socket: "color" }, to: { node: "principled", socket: "base_color" } },
|
|
52
60
|
{ from: { node: "emission_hs", socket: "color" }, to: { node: "mix_shader_001", socket: "a" } },
|
|
53
61
|
{ from: { node: "principled", socket: "color" }, to: { node: "mix_shader_001", socket: "b" } },
|
|
54
62
|
{ from: { node: "mask", socket: "color" }, to: { node: "mix_shader_001", socket: "fac" } },
|