Godot: рдпреВрд╡реА рдЬреЛрдбрд╝реЗ рдЬрд╛рдиреЗ рдкрд░ рд╕рд░рдлреЗрд╕рдЯреВрд▓ рдорд╛рдирджрдВрдб рд╕реБрдЪрд╛рд░реВ рдирд╣реАрдВ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ

рдХреЛ рдирд┐рд░реНрдорд┐рдд 13 рдЕрдЧре░ 2016  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: godotengine/godot

рдЧреЛрдбреЛрдЯ 2.1 рдмреАрдЯрд╛ рдФрд░ 2.1 рд╕реНрдерд┐рд░, рд╡рд┐рдВрдбреЛрдЬ 10 64 рдмрд┐рдЯреНрд╕ рдкрд░ рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛ рдЧрдпрд╛

SurfaceTool рдФрд░ add_smooth_group(true) рд╡рд┐рдзрд┐ рдХреЗ рд╕рд╛рде рдПрдХ рд╕рддрд╣ рдмрдирд╛рддреЗ рд╕рдордп, рдпрджрд┐ рдпреВрд╡реА рдХреЛ рд╢рд┐рдЦрд░ рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЬрд╛рддрд╛ рд╣реИ рддреЛ рдЪрд┐рдХрдиреА рдорд╛рдирджрдВрдб рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдЕрд╕рдВрднрд╡ рд╣реИред
рдореИрдВрдиреЗ рдкрд╛рдпрд╛ рдХрд┐ рдпрд╣ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рддрдм рд╣реЛрддрд╛ рд╣реИ рдЬрдм рдпреВрд╡реА рдПрдХ рдХреЛрдиреЗ рд╕реЗ рджреВрд╕рд░реЗ рдХреЛрдиреЗ рддрдХ рдирд╣реАрдВ рдмрдврд╝ рд░рд╣реЗ рд╣реЛрддреЗ рд╣реИрдВред рдЗрд╕рд▓рд┐рдП рдпрджрд┐ рдХрд┐рд╕реА рд╕рддрд╣ рдХреЗ рдкреНрд░рддреНрдпреЗрдХ рдХреНрд╡рд╛рдб рдореЗрдВ рдпреВрд╡реА 0 рд╕реЗ 1 рддрдХ рдЬрд╛ рд░рд╣рд╛ рд╣реИ, рддреЛ рдХреНрд╡рд╛рдб рдХреЛ рд╣рд╛рд░реНрдб рдлреЗрд╕ рдиреЙрд░реНрдореНрд╕ рдХреЗ рд╕рд╛рде рдкреНрд░рд╕реНрддреБрдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред
рдЗрд╕ рд╡рдЬрд╣ рд╕реЗ рдореИрдВ рдЦреБрдж рдХреЛ рдиреЙрд░реНрдорд▓ рдмрдирд╛рдиреЗ рдХреЛ рдордЬрдмреВрд░ рд╣реВрдВред

рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдирд╣реАрдВ рд╣реИ рдХрд┐ рдпрд╣ рдПрдХ рдмрдЧ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛтАЛтАЛрд╣реИ рдХрд┐ рдЗрд╕реЗ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рдЗрд╕рд▓рд┐рдП рдпрд╣ рдРрд╕рд╛ рдХрд░рддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВрдиреЗ рдХрд╣рд╛, рдЙрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ рднреА рд╕рд╣рдЬ рдорд╛рдирджрдВрдб рд╣реЛрдирд╛ рд╕рдВрднрд╡ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЗрд╕реЗ рдмрдврд╝рд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рд░реЗрдкреНрд░реЛ:
SurfaceToolSmoothShading.zip
рдореБрдЦреНрдп рджреГрд╢реНрдп рд▓реЙрдиреНрдЪ рдХрд░реЗрдВ, рджреЗрдЦреЗрдВ рдХрд┐ рдпреВрд╡реА рдХреЗ рд╕рд╛рде рдмрд╛рдИрдВ рдУрд░ рдЙрддреНрдкрдиреНрди рд╕рддрд╣ рдореЗрдВ рдХрдареЛрд░ рдЪреЗрд╣рд░реЗ рд╣реИрдВ, рджрд╛рдИрдВ рдУрд░ рдПрдХ рдирд╣реАрдВ рд╣реИ рдФрд░ рдЙрд╕рдХреЗ рдЪреЗрд╣рд░реЗ рдЪрд┐рдХрдиреЗ рд╣реИрдВ, рдЬрдмрдХрд┐ рджреЛрдиреЛрдВ рдХрд╛ рдПрдХ рдЪрд┐рдХрдирд╛ рд╕рдореВрд╣ рд╣реИред

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

рдпрд╣ рдЕрднреА рднреА рд╣реЛрддрд╛ рд╣реИ:
SurfaceToolSmoothShading.zip

рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛтАЛтАЛрд╣реИ рдХрд┐ рдРрд╕рд╛ рдЗрд╕рд▓рд┐рдП рд╣реЛрддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ SurfaceTool рдорд╛рди рд▓реЗрддрд╛ рд╣реИ рдХрд┐ рдЪреМрд░рд╕рд╛рдИ рддрднреА рд╣реЛ рд╕рдХрддреА рд╣реИ рдЬрдм рдХреЛрдиреЗ рд╕рд╛рдЭрд╛ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ, рдФрд░ рд╕рд╛рдЭрд╛ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдХреЛрдиреЗ рдореЗрдВ рд╕рдорд╛рди рдЧреБрдг рд╣реЛрдиреЗ рдЪрд╛рд╣рд┐рдПред рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рд╕рдЪ рд╣реИ рдХрд┐ рдпрд╣ рдорд╛рдорд▓рд╛ рдЙрдиреНрд╣реЗрдВ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдпреВрд╡реА рдмрдирд╛рддрд╛ рд╣реИ, рдлрд┐рд░ рднреА рдЕрд▓рдЧ-рдЕрд▓рдЧ рдпреВрд╡реА рдХреЗ рд╕рд╛рде рджреЛ рд╢реАрд░реНрд╖рдХреЛрдВ рдХреЗ рд╕рд╛рде рдЪрд┐рдХрдирд╛рдИ рд╕рдВрднрд╡ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдП, рд▓реЗрдХрд┐рди рджреЛ рдорд╛рдирджрдВрдбреЛрдВ рдХреЛ рд╕рдорд╛рди рдорд╛рди рджреЗрдирд╛ред

рд╕рднреА 3 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

HI @Zylann рдореИрдВ рдХреЛрдб рдЬреЗрдирд░реЗрдЯ рдХрд┐рдП рдЧрдП рдЬрд╛рд▓ рдХреЛ рд╕реБрдЪрд╛рд░реВ рдмрдирд╛рдиреЗ рдХреЗ рд╕рд╣реА рддрд░реАрдХреЗ рдХреА рддрд▓рд╛рд╢ рдореЗрдВ
рдореИрдВ рдЧреЛрдбреЛрдЯ 3.0.4 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдФрд░, рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдореИрдВ рдЗрд╕реЗ рдпреВрд╡реА рдХреЗ рд╕рд╛рде рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдкреНрд░рд╕реНрддреБрдд рдХрд░ рд░рд╣рд╛ рд╣реВрдВред
[рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ] рдореБрдЭреЗ рдЦреБрдж рдХреЛ рдареАрдХ рдХрд░рдирд╛ рд╣реИ, рд╕рдорд╕реНрдпрд╛ рдЕрднреА рднреА рд╣реИ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдпрд╣ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдирд╛ рд╣реЛрдЧрд╛, рдЬреИрд╕рд╛ рдХрд┐ рдЬрд╝рд┐рд▓рд╛рди рдиреЗ рдХреЛрдб рдореЗрдВ рдХрд┐рдпрд╛ рдерд╛, рдХрд┐ рдпрд╣ рдХреЗрд╡рд▓ рддрднреА рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдЬрдм рдпреВрд╡реА рдЬрд╛рд▓ рдкрд░ рдлреИрд▓реЗ рд╣реБрдП рд╣реЛрдВ, рд▓реЗрдХрд┐рди рд╣рд░ рдХреНрд╡рд╛рдб рдХреЗ рд▓рд┐рдП рджреЛрд╣рд░рд╛рдП рдЬрд╛рдиреЗ рдкрд░ рдирд╣реАрдВ:

# If UVs are spread, normals are smooth.
  var t00 = Vector2(p00.x, p00.z) / Vector2(sx,sy)
  var t10 = Vector2(p10.x, p10.z) / Vector2(sx,sy)
  var t11 = Vector2(p11.x, p11.z) / Vector2(sx,sy)
 var t01 = Vector2(p01.x, p01.z) / Vector2(sx,sy)

@Zylann рдХреНрдпрд╛ рдЖрдк (рдпрд╛ рдХреЛрдИ рдФрд░) рдЕрднреА рднреА рдЗрд╕ рдмрдЧ рдХреЛ рдЧреЛрдбреЛрдЯ 3.2.1 рдпрд╛ 3.2.2beta4 рдореЗрдВ рдкреБрди: рдкреЗрд╢ рдХрд░

рдпрд╣ рдЕрднреА рднреА рд╣реЛрддрд╛ рд╣реИ:
SurfaceToolSmoothShading.zip

рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛтАЛтАЛрд╣реИ рдХрд┐ рдРрд╕рд╛ рдЗрд╕рд▓рд┐рдП рд╣реЛрддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ SurfaceTool рдорд╛рди рд▓реЗрддрд╛ рд╣реИ рдХрд┐ рдЪреМрд░рд╕рд╛рдИ рддрднреА рд╣реЛ рд╕рдХрддреА рд╣реИ рдЬрдм рдХреЛрдиреЗ рд╕рд╛рдЭрд╛ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ, рдФрд░ рд╕рд╛рдЭрд╛ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдХреЛрдиреЗ рдореЗрдВ рд╕рдорд╛рди рдЧреБрдг рд╣реЛрдиреЗ рдЪрд╛рд╣рд┐рдПред рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рд╕рдЪ рд╣реИ рдХрд┐ рдпрд╣ рдорд╛рдорд▓рд╛ рдЙрдиреНрд╣реЗрдВ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдпреВрд╡реА рдмрдирд╛рддрд╛ рд╣реИ, рдлрд┐рд░ рднреА рдЕрд▓рдЧ-рдЕрд▓рдЧ рдпреВрд╡реА рдХреЗ рд╕рд╛рде рджреЛ рд╢реАрд░реНрд╖рдХреЛрдВ рдХреЗ рд╕рд╛рде рдЪрд┐рдХрдирд╛рдИ рд╕рдВрднрд╡ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдП, рд▓реЗрдХрд┐рди рджреЛ рдорд╛рдирджрдВрдбреЛрдВ рдХреЛ рд╕рдорд╛рди рдорд╛рди рджреЗрдирд╛ред

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

EdwardAngeles picture EdwardAngeles  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

gonzo191 picture gonzo191  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

SleepProgger picture SleepProgger  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

Spooner picture Spooner  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

blurymind picture blurymind  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ