Le processus de création d'un modèle de jeu 3D Hard Surface

Chapitre 1 Introduction

J'ai décidé d'écrire ici un petit (énorme) article sur la façon dont je fabrique des modèles de jeux. En général, j'ai commencé à fabriquer cette arme, et la pensée m'est venue que je pourrais essayer de décrire tout le processus, du coup cela serait utile à quelqu'un. Ce n'est pas seulement mon premier article, mais aussi mon premier travail en tant que designer.





, , , .. , .. , , . , . , , , . . , , . , , , , .. , , , , . , , , 1.5-2 , . ( ), , , , , , .. . , , , . - , - , , . , . - , . "" "" .. . , "" "+", .





- 3ds Max 2017, Substance Painter, Substance Designer, Adobe Photoshop, UVLayout, xNormal Marmoset Toolbag, , () .





Low Poly , , . ( 1). , .





Fig. 1
1

, High Poly ( ), , , Low poly, . ( 2).





Fig 2
2

. , , , .





Low Poly , ( 60), UV , , . , , . ( 3). .





Fig 3
3

. , , , , . ( 4).





Fig 4
4

, , . , , . ( ), , , , , , , , . , , . . , , .. , , . . - , - , , . , , , . , . , , . , , , , . , , , .





, , , . , , . , , , -, . , . , , , , , .





, . , , , , . , , , ( 2017), . . , «Flip», , . «EditNormals», , «Ctrl+A», «reset» . Edit Poly, Collapse to. , . «Utilites» ( 5)





Fig 5
5

"Reset XForm" «Reset Selection», , Convert to Editable poly. , , . , , , , , 100% , ( ). . . , "Utilites" MAXSript, New Sript. , , Main Toolbar - , , .. , , «Edit Bottom Appearance». , , , , , . , 100000 , , 100000 Low Poly. , .OBJ. , , , , .





:





(

subobjectLevel = 4

actionMan.executeAction 0 "40021"

$.EditablePoly.SetSelection #Face #{1..100000}

$.EditablePoly.flipNormals 1

modPanel.addModToSelection (Edit_Normals ()) ui:on

actionMan.executeAction 0 "40021"

$.modifiers[#Edit_Normals].EditNormalsMod.SetSelection #{1..100000}

$.modifiers[#Edit_Normals].EditNormalsMod.Reset ()

modPanel.addModToSelection (XForm ()) ui:on

macros.run "Modifier Stack" "Convert_to_Poly"

subobjectLevel = 4

actionMan.executeAction 0 "40021"

$.EditablePoly.SetSelection #Face #{1..100000}

$.EditablePoly.flipNormals 1

modPanel.addModToSelection (Edit_Normals ()) ui:on

actionMan.executeAction 0 "40021"

$.modifiers[#Edit_Normals].EditNormalsMod.SetSelection #{1..100000}

$.modifiers[#Edit_Normals].EditNormalsMod.Reset ()

macros.run "Modifier Stack" "Convert_to_Poly"

modPanel.addModToSelection (XForm ()) ui:on

macros.run "Modifier Stack" "Convert_to_Poly"

clearSelection()

)








2.

UVLayout. ( ), , . , UVPipe 3Ds Max, , / . , UV, Padding (), , , 4, 20 . . ( 6+).





Fig 6
6

( ), , , , , . , , , 15-20% , , UV. , ( ). , , , . , , , , , .





UV, Send, "UVLayout UV's" ( 7+), Edit Poly, Collapse To. , Unwrap UVW, , ( 8+), Unwrap UVW, . , , .





Fig 7
7
Fig 8
8

, 3Ds Max OBJ. ( 14). UVLayout, UVs New Edit. OBJ. 3Ds Max, , , , , , , , , , .





3.

Normal, Curvature Ambient Oclusion. , , , . , , , , . - , , , .





, , , , . , . . 10 Low Poly , 1, High Poly Cage, . , , , , , , , , . ( 9).





Fig 9
9

Low High poly, Cage . Cage, . , , , , , , . , . , . Cage Low Poly . , , "Projection", , . , , Low Poly, High poly, Cage. Cage.





Cage, . , , , Low Ploly , , - , . , , , . . Cage Low poly , , , Low High poly , , . , Cage Low poly , , . Cage Push. Low poly ( Clone ) Push, , . , . «Collapse To», 1 ( 10).





Fig 10
10

, , , , 2-4 . . ( 11)





Fig 11
11

, , ( ), 10 , , 10 .





, , , ( ). , , , ( 12, 13), , , , , , , , .





Fig 12
12
Fig 13
13

Cage, . , . , , , , 1, 01, . , , , .





, , Low, High Cage, . .





:





Electric_Low_1





Electric_High_1





Electric_Cage_1





, , , ( 14).





Fig 14
14

4.

xNormal, , . , 100%. , xNormal. , , High definition meshes High poly , Low definition meshes - Low Poly . Cage, Low poly , Browse external cage file . Baking options , , , , Normal, AO (Ambien Occlusion) Curvature, ( Normal Curvature Ambien Occlusion), . .TGA. , , , Substance Designer . padding (), Edge padding 2-4 4 , , 20 , , . , Substance Painter, mip mapping ( , , ), Substance Painter. Antialising (4). , Cage — Generate Map. , Cage , Low Poly , , . , Cage Low Poly. Cage , Tools, Ray distance calculator, Go, 10-15, Stop, Copy results Generate Map.





, Normal Curvature , , Marmoset Toolbag. , , Cage ( 15, 16).





Fig 15
15
Fig 16
16

, Cage, , ( 17, 18).





Fig 17
17
Fig 18
18

Substance Designer. , Substance Painter, . TGA. , , .





File - New Substance. OK. - , . , , 2 4 , 4 . Node - Blend, Add Node - Blend. , , Node - output. 2 Blend , 1 , . , Node - Blend, Node - output , . , . , ( 19+).





Fig. 19
19

AO (Ambient occlusion), . , , - , . . , . , - Normal. , , , . - High poly Low poly , , . - xNormal. , , OpenRL map renderer, , , Allow 100% occlusion, , ( 20+).





Fig. 20
20

, , , , . 2 3Ds max, 1 , 2 , Low High poly , , . 1 , Low poly , 2 High poly , . - ( 21). High Poly Low Poly, , , . , .PNG, , , , - . .





Fig. 21
21

( 22), , , , .





Fig 22
22

, , . 3 . 1 - ( ), 2 - , , , . 3 - , . , , , . , High poly , Low Poly, , , , . 1 ( 23).





Fig. 23
23

, , ( 24).





Fig. 24
24

, , , (, ).





.





, , , , , . , , , , , , . , 3-4 , , 3 . , . ( 25 26). , . , , , .





Fig. 25
25
Fig. 26
26

AO. , Substance Painter, ( 27).





Fig 27
27

5 . , OpenRL ( Normal 0 ), . , , , , ( , !), , . , . , , , . . , . Padding , , ( 28+).





Fig 28
28

, , , , , — , , , - . , , ( 29+).





Fig. 29
29

RGB ( RGB), 20 ( 10 ) ( 30+).





Fig. 30
30

, ( 31+).





Fig. 31
31

20 , , 10 ( 32+).





Fig. 32
32

, . , , , , , .





, .PNG , , . , , padding , , , . , . TGA PNG, . - . , , .TGA , , .





, , . . . ( ), , . , , , , RGB , , , . , , , ( 33+), .





Fig 33
33

, , - , , , . .





5.

. . Material ID, (Substance Painter SP) . , , . , 1, , , , Material ID. , . SP , . UV Material ID, , , . , , , , , , . , Material ID, 3Ds Max - Polygons — Material IDs, , , , Substance Designer . Slate Material Editor. Multi/Sub-object, , , , , , , , , , , , ( 34+).





Fig 34
34

, Multi/Sub-object (set number) , , ( 35+).





Fig. 35
35

( , ), . , . - ( 36+). .





Fig. 36
36

, ( 14).





, , , SP. , , .





, Substance Painter Substance Designer , , . .





, , , , , . , PBR - Metallic Roughness, , .. - PBR - Specular Glossiness, , . Mesh, Low Poly . Normal map format, OpenGL. DirectX, , (Y) . , . . 4, 2. 4, 20482048, 4 . SP , , , . , . Add, . ( 37).





Fig. 37
37

, , (set ), Material ID 3Ds Max. , . , , Edit, Project Configuration . , , , . Material ID. , . , , , , . ( 38+).





Fig. 38
38

. Marmoset Toolbag. ( 39)





Fig. 39
39

7. PBR

. . TurboSquid, , PBR MetalRough PBR SpecGloss, , - BaseColor, Diffuse, Roughness, Metallic, Normal_DirectX, Normal_OpenGL, Emissive, Glossiness, MetallicSmoothness, Opacity, Specular, Ambient occlusion. 12 , , - , - . , . , Roughness Glossiness , . Normal_DirectX Normal_OpenGL , (Y). 2, , . , MetallicSmoothness, 2 , Metallic Glossiness, Glossiness . ( 40+).





Fig 40
40

, ( 41+).





Fig 41
41

1. tagra, , Substance Designer .





2. , , , .





3. (Dilation + transperenty), . , Dilation infinite 5 , - ( 42). ( 43).





Fig. 42
42
Fig. 43
43

, padding (), . , . , UV Mip Mapping, .. padding, 4 .





4. padding Mip Mapping. Mip Mapping , . , . 4 16-20 , , . , .





5. Override padding ( 3 , padding) 3 4 . , 3 4 , . . 2, 4, .. , , 4. - . , , .





, , ( 44).





Fig. 44
44

8.

. . , , .TGA. , 60 , 12 5 . Photoshop , - . Substance Designer . , , Node ( ) , Add Node. Blend, 5 4 . output , , , . , 1 . 60 , , , . 5 , , Blend Uniform Color, . , . Normal, , R-128, G-128, B-255, Emissive , Opasity . Blend. , BaseCollor ( 45+), , , .





Fig. 45
45

Glossiness Roughness, Glossiness Invert, Blend Uniform Color , ( 46+).





Fig. 46
46

Glossiness ( 47+) , Roughness. , .





Fig. 47
47

2 Metallic MetallicSmoothness. - Metallic, , MetallicSmoothness Glossiness, Photoshop, , , Substance Designer , .





, , TGA. ? , , 1 , , , Photoshop . ( RGB, R, G, B), , , , MetallicSmoothness Glossiness. , Substance Designer. , Level, ( 48+, 49+.). Level Histogram Luminance Channel Alfa Channel.





Fig. 48
48
Fig. 49
49

Blend, , . Grayscale Conversion ( 50+).





Fig 50
50

RGB-A Merge, Blend , "RGB", "A", Grayscale Conversion, Output. , , Photoshop. , , , . ( 51+, 52+).





Fig 51
51
Fig 52
52

, , , Invert ( 53). , .





Fig 53
53

, , 3Ds Max Material ID, . , SP Vray/Corona . , , , PRO TurboSquid, , . , 2, Vray Corona.





, 3D .





9. Vray/Corona

, . SP Vray/Corona render, . , , () Corona Vray, , , . , , , BaseColor . Corona Vray , 2, Normal ( OpenGL, DirectX) Glossiness ( ). Corona Duplicate, . , , , . , $mesh_$textureSet_Diffuse, $mesh - , $textureSet - , Diffuse - . , . - . , , ( 54+).





Fig. 54
54

, Diffuse RGB , BaceColor Alpha ( 55).





Fig. 55
55

. , RGB Gray Channel, , . Vray, Corona Height, , - , . , - Normal , . Opacity, , , PBR . ( 56+).





Fig. 56
56

PBR , , PNG. . , Corona Vray, , , . HDRI . , , , .





10. Corona

, Corona render. CoronaMtl, ( ) , , . ( 57+).





Fig 57
57

Normal CoronaNormal . Normal map. , , , . Glossiness 1.0. , Vray, . , . ( 3 ) Vray, , , Corona . , . Vray , Corona - , , , Corona, - . - HDRI . , HDRI, "HDRI Haven", CoronaBitmap, HDRI HDR EXR, , , . 2 , Color Correction Corona Color Correction, , , . Scene Environment ( 58+).





Fig 58
58

( 59+). .





Fig. 59
59

( 60). , .





Fig 60
60

11. Vray

Vray. . , , , , , . , , VrayMtl ( 61+).





Fig 61
61

, 1.0. , , Gamma - Override 1.0, 2.2. ( 62+).





Fig. 62
62

Normal, Glossiness. . , . , .. , Corona render. , Vray HDRI , VRayLight, ( 63). , VrayHDRI, HDR EXR, Mapping type Spherical. VRayLight, Texture, HDRI .





Fig 63
63

Environment ( 8) (64 ).





Fig 64
64

HDRI Environment GI environment. Phisical Camera, Exposure Gain - Target 12, Vray Light Multiplier - 55. , , , Normal , Vray , Normal 300.





( 65+).





Fig. 65
65

, , ( 66).





Fig. 66
66

, 3 , - Marmoset Toolbag, - Corona, - Vray ( 67).





Fig. 67
67

Vray Corona, . , , , , , . Vray , , .. , . , . . , , . , , TurboSquid CheckMate PRO.





Il y avait beaucoup d'informations ici, il sera difficile pour les débutants de tout apprendre à la fois, mais j'ai essayé de tout transmettre dans le langage le plus simple. J'espère que cet article aidera quelqu'un, peut-être pas tellement à y travailler, mais peut-être à chercher des moyens plus rapides et plus efficaces. Merci pour l'attention.





L'auteur de l'article est Yegor Surin








All Articles