рд╣рдо рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЙрджрд╛рд╣рд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдпреВрдирд┐рдЯреА 3 рдбреА рдореЗрдВ рд╢реЗрдбрд░реНрд╕ рдХреЗ рд╕рд╛рде рд╕реМрджрд╛ рдХрд░рддреЗ рд╣реИрдВ



рд╕рд┐рджреНрдзрд╛рдВрдд рдХреА рдмрд┐рдЯ


рд╢реЗрдбреНрд╕ рдХреЗ рдХрд╛рдо рдХреЛ рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рд╡рд╛рдХрд┐рдл рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рд╡реАрдбрд┐рдпреЛ рдХрд╛рд░реНрдб рдХреИрд╕реЗ рдЫрд╡рд┐ рдмрдирд╛рддрд╛ рд╣реИред рд╕реНрдХреНрд░реАрди рдкрд░ 3D рдСрдмреНрдЬреЗрдХреНрдЯ рд╡рд┐рдЬрд╝реБрдЕрд▓рд╛рдЗрдЬрд╝реЗрд╢рди рдХреА рд╕рд╛рдорд╛рдиреНрдп рд╕рдВрд░рдЪрдирд╛ рдиреАрдЪреЗ рджрд┐рдП рдЧрдП рдЪрд┐рддреНрд░ рдореЗрдВ рджрд┐рдЦрд╛рдИ рдЧрдИ рд╣реИ:


рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдЖрдЗрдП рдЧреНрд░рд╛рдлрд┐рдХреНрд╕ рд░реЗрдВрдбрд░рд┐рдВрдЧ рдкрд╛рдЗрдкрд▓рд╛рдЗрди рдЬреИрд╕реА рдЕрд╡рдзрд╛рд░рдгрд╛ рдХреЛ рджреЗрдЦреЗрдВред рдпрд╣ рдПрдХ рдХрдиреНрд╡реЗрдпрд░ рд╣реИ, рдЬрд┐рд╕рдХреЗ рдЪрд░рдгреЛрдВ рдореЗрдВ рдПрдХ рд╡реАрдбрд┐рдпреЛ рдХрд╛рд░реНрдб рдЕрдВрддрд┐рдо рдЫрд╡рд┐ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд╛рддрд╛ рд╣реИред рд╣рдо рдЗрддрд┐рд╣рд╛рд╕ рдореЗрдВ рдереЛрдбрд╝рд╛ рдЙрддрд░реЗрдВрдЧреЗред рдкрд╣рд▓реЗ рдХрдВрдкреНрдпреВрдЯрд░ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рд░реЗрдВрдбрд░рд┐рдВрдЧ рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд░рддреЗ рдереЗред рд╕рднреА рд░рд╛рдЬрдХреЛрд╖реАрдп рдХреЗрдВрджреНрд░реАрдп рдкреНрд░реЛрд╕реЗрд╕рд░ рджреНрд╡рд╛рд░рд╛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд┐рдП рдЧрдП рдереЗред рдФрд░ рдХрдиреНрд╡реЗрдпрд░ рдЗрд╕ рддрд░рд╣ рджреЗрдЦрд╛:

рдкрд╣рд▓реЗ 3 рдбреА рддреНрд╡рд░рдХ рддрдерд╛рдХрдерд┐рдд рдлрд┐рдХреНрд╕реНрдб-рдлрдВрдХреНрд╢рди рдкрд╛рдЗрдкрд▓рд╛рдЗрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рдереЗред рдирд╛рдо рд╕реЗ рдпрд╣ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реИ рдХрд┐ рдпрд╣ рддрдп рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рдФрд░ рдХрдбрд╝рд╛рдИ рд╕реЗ рд╕реБрд╕рдВрдЧрдд рдерд╛ред рдЪрд┐рддреНрд░ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдореЗрдВ рд╣рд╕реНрддрдХреНрд╖реЗрдк рдЕрд╕рдВрднрд╡ рдерд╛ред рдЕрдм рд╣рдо рдЗрд╕ рдХрдиреНрд╡реЗрдпрд░ рдХреЗ рд╕рднреА рдЪрд░рдгреЛрдВ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВрдЧреЗред рднрд╡рд┐рд╖реНрдп рдореЗрдВ, рдпрд╣ рдХрд╛рдо рдЖрдПрдЧрд╛ред
  1. рдЗрдирдкреБрдЯ рдбреЗрдЯрд╛ рдЗрдирдкреБрдЯ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ, рд╡реАрдбрд┐рдпреЛ рдХрд╛рд░реНрдб рдХрдИ рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЗ рд╕рд╛рде рд╡реНрдпрдХреНрддрд┐рдЧрдд рдХреЛрдиреЗ рдХреЗ рд░реВрдк рдореЗрдВ рдПрдХ рд╡рд╕реНрддреБ рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЕрдВрддрд░рд┐рдХреНрд╖ рдореЗрдВ рдПрдХ рд╢реАрд░реНрд╖ рдХреА рд╕реНрдерд┐рддрд┐, рдЙрд╕рдХрд╛ рд░рдВрдЧ, рд╕рд╛рдорд╛рдиреНрдп, рдмрдирд╛рд╡рдЯ рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ, рдФрд░ рдЕрдиреНрдпред
  2. рдкрд░рд┐рд╡рд░реНрддрди рдФрд░ рдкреНрд░рдХрд╛рд╢ рд╡реНрдпрд╡рд╕реНрдерд╛ред рдЗрд╕ рд╕реНрддрд░ рдкрд░, рдЬреНрдпрд╛рдорд┐рддреАрдп рд╕рдВрдЪрд╛рд▓рди рд╡рд╕реНрддреБ (рд╡рд┐рд╕реНрдерд╛рдкрди, рд░реЛрдЯреЗрд╢рди, рд╕реНрдХреЗрд▓) рдкрд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣ рджреГрд╢реНрдп рдХреА рд░реЛрд╢рдиреА рдХреА рдЧрдгрдирд╛ рднреА рдХрд░рддрд╛ рд╣реИред рдкреНрд░рддреНрдпреЗрдХ рд╢реАрд░реНрд╖ рдХреЗ рд▓рд┐рдП, рд░реЛрд╢рдиреА рдХреЗ рдореВрд▓реНрдпреЛрдВ рдХреА рдЧрдгрдирд╛ рд╕реНрдерд╛рди рдФрд░ рдкреНрд░рдХрд╛рд░ рдХреЗ рдкреНрд░рдХрд╛рд╢ рд╕реНрд░реЛрддреЛрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдХреА рдЬрд╛рддреА рд╣реИ, рд╕рд╛рде рд╣реА рдСрдмреНрдЬреЗрдХреНрдЯ рдХреА рд╕рддрд╣ (рдкреНрд░рддрд┐рдмрд┐рдВрдм, рдЕрд╡рд╢реЛрд╖рдг) рдХреЛ рдЪрд┐рд╣реНрдирд┐рдд рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдкреИрд░рд╛рдореАрдЯрд░ред
  3. рддреНрд░рд┐рдХреЛрдгреАрдпрдХрд░рдгред рдЗрд╕ рд╕реНрддрд░ рдкрд░, рд▓рдВрдмрд╡рдд рддреНрд░рд┐рдХреЛрдгреЛрдВ рдореЗрдВ рд╕рдВрдпреЛрдЬрд┐рдд рд╣реЛрддреЗ рд╣реИрдВред
  4. рд░реИрд╕реНрдЯрд░рд╛рдЗрдЬрд╝реЗрд╢рдиред рдЗрд╕ рдХрджрдо рдХрд╛ рдЙрджреНрджреЗрд╢реНрдп рдкрд╣рд▓реЗ рд╕реЗ рддреИрдпрд╛рд░ рдХрд┐рдП рдЧрдП рдбреЗрдЯрд╛ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдкрд┐рдХреНрд╕реЗрд▓ рдХреЗ рд░рдВрдЧ рдХреА рдЧрдгрдирд╛ рдХрд░рдирд╛ рд╣реИред рдЪреВрдБрдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдХреЗрд╡рд▓ рдХреЛрдиреЗ рдХреЗ рд░рдВрдЧ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рд╣реЛрддреА рд╣реИ, рдЗрд╕рд▓рд┐рдП рдкрд┐рдХреНрд╕реЗрд▓ рдХрд╛ рд░рдВрдЧ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо рдЗрд╕реА рдХреЛрдиреЗ рдХреЗ рд░рдВрдЧ рдорд╛рдиреЛрдВ рдХреЗ рдмреАрдЪ рдХреЗ рдорд╛рди рдХреЛ рд░реИрдЦрд┐рдХ рд░реВрдк рд╕реЗ рдкреНрд░рдХреНрд╖реЗрдкрд┐рдд рдХрд░рддреЗ рд╣реИрдВред
  5. рдкрд┐рдХреНрд╕реЗрд▓ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдгред рдЗрд╕ рд╕реНрддрд░ рдкрд░, рдкрд┐рдХреНрд╕реЗрд▓ рдХрд╛ рд░рдВрдЧ рд╣реЛрддрд╛ рд╣реИред рдЗрдирдкреБрдЯ рдкрд┐рдЫрд▓реЗ рд╕реНрддрд░ рдХрд╛ рдбреЗрдЯрд╛ рд╣реИред рдпрд╣рд╛рдБ рднреА рд╣рдо рдкрд┐рдХреНрд╕реЗрд▓ рдкрд░ рдЕрддрд┐рд░рд┐рдХреНрдд рдкреНрд░рднрд╛рд╡ рд▓рд╛рдЧреВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдмрдирд╛рд╡рдЯред
  6. рддреИрдпрд╛рд░ рдЫрд╡рд┐ рдХрд╛ рдЧрдардиред рдЕрдм рд╣рдореЗрдВ рдЕрдВрддрд┐рдо рдлреНрд░реЗрдо рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░рдирд╛ рд╣реИред рдЗрд╕ рд╕реНрддрд░ рдкрд░, Z- рдмрдлрд░ рдбреЗрдЯрд╛ рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрд╛ рдЬрд╛рддрд╛ рд╣реИ рддрд╛рдХрд┐ рдпрд╣ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗ рдХрд┐ рдХреМрди рд╕реА рд╡рд╕реНрддреБ рдХреИрдорд░реЗ рдХреЗ рдХрд░реАрдм рд╣реИред рдпрд╣рд╛рдВ рдПрдХ рдЕрд▓реНрдлрд╛ рдЯреЗрд╕реНрдЯ рднреА рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдкрд░рдд рджреНрд╡рд╛рд░рд╛ рдкрд░рдд, рд╡рд╕реНрддреБрдУрдВ рдХреЛ рдЕрдВрддрд┐рдо рдЫрд╡рд┐ рдХреЗ рд▓рд┐рдП "рд▓рд╛рдЧреВ" рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдкреЛрд╕реНрдЯ рдЗрдлреЗрдХреНрдЯреНрд╕ рдпрд╣рд╛рдВ рднреА рд▓рд╛рдЧреВ рдХрд┐рдП рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВред рдЬрд┐рд╕рдХреЗ рдмрд╛рдж рддреИрдпрд╛рд░ рдлреНрд░реЗрдо рдХреЛ рдлреНрд░реЗрдо рдмрдлрд░ рдореЗрдВ рд░рдЦрд╛ рдЬрд╛рддрд╛ рд╣реИред

рдЗрд╕рд▓рд┐рдП, рд╣рдордиреЗ рдлрд┐рдХреНрд╕реНрдб-рдлрдВрдХреНрд╢рди рдкрд╛рдЗрдкрд▓рд╛рдЗрди рдХреЗ рдЪрд░рдгреЛрдВ рдХреА рд╕рдореАрдХреНрд╖рд╛ рдХреАред рдЬреИрд╕рд╛ рдХрд┐ рд╣рдо рджреЗрдЦрддреЗ рд╣реИрдВ, рд╣рдо рдХреЗрд╡рд▓ рдХреБрдЫ рдЪрд░рдгреЛрдВ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рд╡рд┐рдХрд▓реНрдк рдЪреБрдирдХрд░ рдЕрдВрддрд┐рдо рдЫрд╡рд┐ рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╣рдо рдирд╣реАрдВ рд▓рд┐рдЦ рд╕рдХрддреЗ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╣рдорд╛рд░рд╛ рдкреНрд░рдХрд╛рд╢ рдореЙрдбрд▓ред рдЙрди рджрд┐рдиреЛрдВ, рдореБрдЭреЗ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╡реАрдбрд┐рдпреЛ рдПрдбреЗрдкреНрдЯрд░ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рд╕реЗ рд╕рдВрддреЛрд╖ рдХрд░рдирд╛ рдкрдбрд╝рд╛ред рдпрд╣ рдкрд╣рд▓реЗ рдЧреНрд░рд╛рдлрд┐рдХреНрд╕ рдХрд╛рд░реНрдб рдерд╛ рдЬрд┐рд╕рдореЗрдВ рдбрд╛рдпрд░реЗрдХреНрдЯрдПрдХреНрд╕ 8.0 - 8.1 рдХреЗ рд▓рд┐рдП рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рд╕рдорд░реНрдерди рдерд╛ред рдЗрд╕ рдмрд┐рдВрджреБ рд╕реЗ, рдХреЛрдиреЗ рдФрд░ рдкрд┐рдХреНрд╕реЗрд▓ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд▓рд┐рдП рдХрд╛рд░реНрдпрдХреНрд░рдо рд▓рд┐рдЦрдирд╛ рд╕рдВрднрд╡ рдерд╛ред рдРрд╕реЗ рдореЙрдбрд▓ рдХреЗ рд▓рд┐рдП рдХрдиреНрд╡реЗрдпрд░ рдиреАрдЪреЗ рджрд┐рдП рдЧрдП рдЖрдВрдХрдбрд╝реЗ рдореЗрдВ рджрд┐рдЦрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред




рднрд╡рд┐рд╖реНрдп рдореЗрдВ, рдпрд╣ рдкрд╛рдЗрдкрд▓рд╛рдЗрди рдХреЗ рд╕рднреА рдЪрд░рдгреЛрдВ рдХреЛ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдпреЛрдЧреНрдп рдмрдирд╛рдиреЗ рдХреА рдпреЛрдЬрдирд╛ рд╣реИред
рдЕрдм, рдпрд╣ рдЬрд╛рдирддреЗ рд╣реБрдП рдХрд┐ рд╡реАрдбрд┐рдпреЛ рдХрд╛рд░реНрдб рдЫрд╡рд┐ рдХреИрд╕реЗ рдмрдирд╛рддрд╛ рд╣реИ, рдпрд╣ 3 рдбреА рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдереЛрдбрд╝реА рд╕реА рдмрд╛рдд рдХреЗ рд▓рд╛рдпрдХ рд╣реИред рдПрдХ рдореЙрдбрд▓ рдХреЛрдиреЗ рдХрд╛ рдПрдХ рд╕рдВрдЧреНрд░рд╣ рд╣реИ, рдЙрдирдХреЗ рдмреАрдЪ рд╕рдВрдмрдВрдз, рд╕рд╛рде рд╣реА рд╕рд╛рдордЧреНрд░реА, рдПрдирд┐рдореЗрд╢рди, рдЖрджрд┐ред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпреВрд╡реА рд╕рдордиреНрд╡рдп рдХрд░рддрд╛ рд╣реИред рд╡реЗ рджрд┐рдЦрд╛рддреЗ рд╣реИрдВ рдХрд┐ рдпрд╣ рд╢реАрд░реНрд╖ рдмрдирд╛рд╡рдЯ рдмрдирд╛рд╡рдЯ рдкрд░ рдХрд╣рд╛рдБ рд╕реНрдерд┐рдд рд╣реИред рд╕рд╛рдордЧреНрд░реА рдСрдмреНрдЬреЗрдХреНрдЯ рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рдХреЛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддреА рд╣реИ рдФрд░ рдЗрд╕рдореЗрдВ рдЬреНрдпрд╛рдорд┐рддрд┐ рдпрд╛ рдХрдгреЛрдВ рдХреА рдХрд▓реНрдкрдирд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рд╢реЗрдбрд░ рдХрд╛ рд▓рд┐рдВрдХ рд╢рд╛рдорд┐рд▓ рд╣реЛрддрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП, рдЗрди рдШрдЯрдХреЛрдВ рдХреЛ рд╕рд╛рдордЧреНрд░реА рдХреЗ рдмрд┐рдирд╛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред
рд╢реЗрдбрд░ рдЧреНрд░рд╛рдлрд┐рдХреНрд╕ рдкрд╛рдЗрдкрд▓рд╛рдЗрди рдХреЗ рдЪрд░рдгреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдХреЗ рд▓рд┐рдП рдПрдХ рдХрд╛рд░реНрдпрдХреНрд░рдо рд╣реИред рд╕рднреА рд╢реЗрдбреНрд╕ рдХреЛ рджреЛ рд╕рдореВрд╣реЛрдВ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ: рд╡рд░реНрдЯреЗрдХреНрд╕ рдФрд░ рдЯреБрдХрдбрд╝рд╛ (рдкрд┐рдХреНрд╕реЗрд▓)ред Unity3D рдореЗрдВ рд╢реЗрдбрд░реНрд╕ - рд╕рд░рдлреЗрд╕ рд╢реЗрдбрд░ рд▓рд┐рдЦрдиреЗ рдХрд╛ рдПрдХ рд╕рд░рд▓ рддрд░реАрдХрд╛ рд╣реИред рдпрд╣ рдЕрдореВрд░реНрддрддрд╛ рдХрд╛ рдПрдХ рдЙрдЪреНрдЪ рд╕реНрддрд░ рд╣реИред рд╕рд░рдлреЗрд╕ рд╢реЗрдбрд░ рдХрд╛ рд╕рдВрдХрд▓рди рдХрд░рддреЗ рд╕рдордп, рдХрдВрдкрд╛рдЗрд▓рд░ рдПрдХ рд╢реЗрдХреНрд╕ рдмрдирд╛рдПрдЧрд╛ рдЬрд┐рд╕рдореЗрдВ рдПрдХ рд╡рд░реНрдЯреЗрдХреНрд╕ рдФрд░ рдПрдХ рдкрд┐рдХреНрд╕реЗрд▓ рд╢реЗрдбрд░ рд╣реЛрдЧрд╛ред Unity3D рдХреА рднрд╛рд╖рд╛ рдЖрдкрдХреА рдЕрдкрдиреА рд╣реИред рдЗрд╕реЗ ShaderLab рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣ CG рдФрд░ HLSL рдкрд░ рдЖрд╡реЗрд╖рдг рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИред

рдЕрднреНрдпрд╛рд╕


рдПрдХ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд░реВрдк рдореЗрдВ, рдПрдХ рд╢реЗрдбрд░ рд▓рд┐рдЦрдиреЗ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ рдЬреЛ рдлреИрд▓рд╛рдиреЗ рд╡рд╛рд▓реА рд╡рд╕реНрддреБ рдкрд░ рдПрдХ рдмрдирд╛рд╡рдЯ, рд╕рд╛рдорд╛рдиреНрдп рдирдХреНрд╢рд╛, рдкреНрд░рддрд┐рдмрд┐рдВрдм рдорд╛рдирдЪрд┐рддреНрд░ (рдХреНрдпреВрдмрдореИрдк рдкрд░ рдЖрдзрд╛рд░рд┐рдд) рд▓рдЧрд╛рддрд╛ рд╣реИ, рдФрд░ рдлреИрд▓рд╛рдиреЗ рд╡рд╛рд▓реА рдмрдирд╛рд╡рдЯ рдореЗрдВ рдЕрд▓реНрдлрд╛ рдЪреИрдирд▓ рдХреЗ рд╕рд╛рде рдкрд┐рдХреНрд╕рд▓ рдХрд╛рдЯ рджреЗрддрд╛ рд╣реИред
рдЖрд░рдВрдн рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╕рд╛рдорд╛рдиреНрдп ShaderLab рд╕рд┐рдВрдЯреИрдХреНрд╕ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВред рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдЕрдЧрд░ рд╣рдо CG рдпрд╛ HLSL рдореЗрдВ рдПрдХ shader рд▓рд┐рдЦ рд░рд╣реЗ рд╣реИрдВ, рддрдм рднреА рд╣рдореЗрдВ ShaderLab рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХреЛ рдЬрд╛рдирдирд╛ рд╣реЛрдЧрд╛, рддрд╛рдХрд┐ рд╣рдо рдирд┐рд░реАрдХреНрд╖рдХ рдореЗрдВ рдЕрдкрдиреЗ shader рдХреЗ рдкреИрд░рд╛рдореАрдЯрд░ рд╕реЗрдЯ рдХрд░ рд╕рдХреЗрдВред

Shader "Group/SomeShader" { // properties that will be seen in the inspector Properties { _Color ("Main Color", Color) = (1,0.5,0.5,1) } // define one subshader SubShader { Pass { } } } Fallback "Diffuse" } 

рдкрд╣рд▓рд╛ рдХреАрд╡рд░реНрдб Shader рд╣реИ ред рдЗрд╕рдХреЗ рдмрд╛рдж, рдЙрджреНрдзрд░рдг рдЪрд┐рд╣реНрди рдореЗрдВ shader рдХрд╛ рдирд╛рдо рдЗрдВрдЧрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдФрд░ рдЖрдк '/' рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рд╕рдВрдкрд╛рджрдХ рдореЗрдВ рд╕рд╛рдордЧреНрд░реА рд╕реЗрдЯ рдХрд░рддреЗ рд╕рдордп рдбреНрд░реЙрдк-рдбрд╛рдЙрди рдореЗрдиреВ рдореЗрдВ рд╡рд╣ рдкрде рдЬрд╣рд╛рдВ рд╢реЗрдбрд░ рд╣реЛрдЧрд╛ред рдЙрд╕рдХреЗ рдмрд╛рдж рдЧреБрдг {} рдорд╛рдкрджрдВрдбреЛрдВ рдХрд╛ рд╡рд┐рд╡рд░рдг рд╣реИ рдЬреЛ рдирд┐рд░реАрдХреНрд╖рдХ рдореЗрдВ рджрд┐рдЦрд╛рдИ рджреЗрдЧрд╛ рдФрд░ рдЬрд┐рд╕рдХреЗ рд╕рд╛рде рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдмрд╛рддрдЪреАрдд рдХрд░ рд╕рдХрддрд╛ рд╣реИред
рдпреВрдирд┐рдЯреА 3 рдбреА рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рд╢реЗрдбрд░ рдХреЗ рд╢рд░реАрд░ рдореЗрдВ рдХрдо рд╕реЗ рдХрдо рдПрдХ рд╕рдмреНрд╕рдХреНрд░рд┐рдкреНрд╢рди рд╣реЛрддрд╛ рд╣реИред рдЬрдм рдЬреНрдпрд╛рдорд┐рддрд┐ рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реЛрддрд╛ рд╣реИ, рддреЛ рдЗрдВрдЬрди рдЖрд╡рд╢реНрдпрдХ рд╢реЗрдбрд░ рдХреА рдЦреЛрдЬ рдХрд░рддрд╛ рд╣реИ рдФрд░ рд╕реВрдЪреА рд╕реЗ рдкрд╣рд▓рд╛ рд╕рдмреНрд╕рдХреНрд░рд┐рдкреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ рдЬреЛ рд╡реАрдбрд┐рдпреЛ рдХрд╛рд░реНрдб рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдРрд╕рд╛ рдЗрд╕рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рддрд╛рдХрд┐ рдПрдХ рд╣реА shader рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╡реАрдбрд┐рдпреЛ рдХрд╛рд░реНрдб рдкрд░ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдкреНрд░рджрд░реНрд╢рд┐рдд рд╣реЛ рд╕рдХреЗ рдЬреЛ рд╡рд┐рднрд┐рдиреНрди shader рдореЙрдбрд▓ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддреЗ рд╣реИрдВред рдкрд╛рд╕ {} рдХреАрд╡рд░реНрдб рдПрдХрд▓-рдкрд╛рд╕ рдЕрдиреБрджреЗрд╢ рдмреНрд▓реЙрдХ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддрд╛ рд╣реИред рдПрдХ shader рдореЗрдВ рдПрдХ рд╕реЗ рд▓реЗрдХрд░ рдХрдИ рдкрд╛рд╕ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред рдХрдИ рдкрд╛рд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЙрдкрдпреЛрдЧреА рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдкреБрд░рд╛рдиреЗ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдХреЗ рд▓рд┐рдП рд╢реЗрдб рдХреЗ рдЕрдиреБрдХреВрд▓рди рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдпрд╛ рд╡рд┐рд╢реЗрд╖ рдкреНрд░рднрд╛рд╡ (рдЖрдЙрдЯрд▓рд╛рдЗрди, рдЯреЙрди рд╢реЗрдбрд┐рдВрдЧ, рдЖрджрд┐) рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред
рдЕрдЧрд░ рд╢реЗрдбрд░ рдмреЙрдбреА рдореЗрдВ рдпреВрдирд┐рдЯреА 3 рдбреА рдХреЛ рдРрд╕рд╛ рдХреЛрдИ рд╕рдмрд╕рдбрд░ рдирд╣реАрдВ рдорд┐рд▓рд╛ рдЬреЛ рдЬреНрдпрд╛рдорд┐рддрд┐ рдХреЛ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░ рд╕рдХреЗ, рддреЛ рдлреЙрд▓рдмреИрдХ рдирд┐рд░реНрджреЗрд╢ рдХреЗ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХреЗ рдмрд╛рдж рдШреЛрд╖рд┐рдд рдХрд┐рдП рдЧрдП рджреВрд╕рд░реЗ рд╢реЗрдбрд░ рдХреЛ рд░реЛрд▓рдмреИрдХ рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдЙрдкрд░реЛрдХреНрдд рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рдбрд┐рдлреНрдпреВрдЬрд╝ рд╢реЗрдбрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ рдпрджрд┐ рд╡реАрдбрд┐рдпреЛ рдХрд╛рд░реНрдб рд╕рд╣реА рдврдВрдЧ рд╕реЗ рд╡рд░реНрддрдорд╛рди рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рд╣реИред

рдЕрдм рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЙрджрд╛рд╣рд░рдг рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВред

 Shader "Example/Bumped Reflection Clip" { Properties { _MainTex ("Texture", 2D) = "white" {} _BumpMap ("Bumpmap", 2D) = "bump" {} _Cube ("Cubemap", CUBE) = "" {} _Value ("Reflection Power", Range(0,1)) = 0.5 } SubShader { Tags { "RenderType" = "Opaque" } Cull Off CGPROGRAM #pragma surface surf Lambert struct Input { float2 uv_MainTex; float2 uv_BumpMap; float3 worldRefl; INTERNAL_DATA }; sampler2D _MainTex; sampler2D _BumpMap; samplerCUBE _Cube; float _Value; void surf (Input IN, inout SurfaceOutput o) { float4 tex = tex2D (_MainTex, IN.uv_MainTex); clip (tex.a - 0.5); o.Albedo = tex.rgb; o.Normal = UnpackNormal (tex2D (_BumpMap, IN.uv_BumpMap)); float4 refl = texCUBE (_Cube, WorldReflectionVector (IN, o.Normal)); o.Emission = refl.rgb * _Value * refl.a; } ENDCG } Fallback "Diffuse" } 


рдЧреБрдг рдлрд╝реАрд▓реНрдб рдореЗрдВ рдЪрд╛рд░ рдЪрд░ рд╣реИрдВ рдЬреЛ рдпреВрдирд┐рдЯреА 3 рдбреА рдирд┐рд░реАрдХреНрд╖рдХ рдореЗрдВ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд┐рдП рдЬрд╛рдПрдВрдЧреЗред
_MainTex - рдХреЛрд╖реНрдардХ рдореЗрдВ рдирд┐рд░реАрдХреНрд╖рдХ рдореЗрдВ рдкреНрд░рджрд░реНрд╢рд┐рдд рдирд╛рдо, рдкреНрд░рдХрд╛рд░ рдФрд░ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдорд╛рди рджрд░реНрд╢рд╛рддреЗ рд╣реИрдВред
_MainTex рдФрд░ _BumpMap рдЯреЗрдХреНрд╕рдЪрд░ рд╣реИрдВ, _Cube рдкреНрд░рддрд┐рдмрд┐рдВрдмреЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рдХреНрдпреВрдм рд╣реИ, _Value рдкреНрд░рддрд┐рдмрд┐рдВрдм рдкреНрд░рднрд╛рд╡ рдХреА рдбрд┐рдЧреНрд░реА рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реНрд▓рд╛рдЗрдбрд░ рд╣реИред
рдЯреИрдЧ {"RenderType" = "Opaque"} рд╢реЗрдбрд░ рдХреЛ рдЕрдкрд╛рд░рджрд░реНрд╢реА рдХреЗ рд░реВрдк рдореЗрдВ рдЪрд┐рд╣реНрдирд┐рдд рдХрд░рддрд╛ рд╣реИред рдпрд╣ рд░реЗрдВрдбрд░рд┐рдВрдЧ рдХрддрд╛рд░ рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░рддрд╛ рд╣реИред
Cull Off рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рд╢реЗрдбрд░ рд╕рд╛рдорд╛рдиреНрдп рджрд┐рд╢рд╛рдУрдВ рдХреЗ рд╕рд╛рде рдХрддрд░рди рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ред рдкреЙрд▓реАрдЧреЙрди рдХреА рдХреНрд▓рд┐рдкрд┐рдВрдЧ рдХреЗ рддреАрди рд╡рд┐рдХрд▓реНрдк рд╣реИрдВ: рдЬрд┐рдирдХреЗ рдиреЙрд░реНрдореНрд╕ рдХреИрдорд░реЗ рд╕реЗ рдХреИрдорд░реЗ рдХреА рдУрд░ рдФрд░ рдмрд┐рдирд╛ рдХреНрд▓рд┐рдкрд┐рдВрдЧ рдХреЗ рдирд┐рд░реНрджреЗрд╢рд┐рдд рд╣реЛрддреЗ рд╣реИрдВред рдЕрдВрддрд┐рдо рд╡рд┐рдХрд▓реНрдк рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рд╣рдо рдмрд╣реБрднреБрдЬ рдХреЛ рджреЛ рддрд░рдл рд╕реЗ рджреЗрдЦреЗрдВрдЧреЗред
рдХреЛрдб рд▓рд┐рдЦрддреЗ рд╕рдордп, рд╣рдо CG рдЗрдВрд╕рд░реНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗред рдбрд╛рд▓рдиреЗ рдХреЛ рджреЛ рдЦреЛрдЬрд╢рдмреНрджреЛрдВ рджреНрд╡рд╛рд░рд╛ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ: CGPROGRAM , ENDCG ред
#pragma рд╕рддрд╣ рд╕рд░реНрдл рд▓реИрдВрдмрд░реНрдЯ - рд╕рддрд╣ shader рдлрд╝рдВрдХреНрд╢рди рдФрд░ рдЕрддрд┐рд░рд┐рдХреНрдд рдорд╛рдкрджрдВрдбреЛрдВ рдХреА рдШреЛрд╖рдгрд╛ред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдлрд╝рдВрдХреНрд╢рди рдХреЛ рд╕рд░реНрдл рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рд▓реИрдореНрдмрд░реНрдЯ рд▓рд╛рдЗрдЯрд┐рдВрдЧ рдореЙрдбрд▓ рдХреЛ рдЕрддрд┐рд░рд┐рдХреНрдд рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ рдЗрдВрдЧрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
рдЕрдм рдЗрдирдкреБрдЯ рд╕рдВрд░рдЪрдирд╛ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВред рдЗрдирдкреБрдЯ рд╕рдВрд░рдЪрдирд╛ рдХреЗ рд╕рднреА рд╕рдВрднрд╡ рдЪрд░ рдорджрдж рдореЗрдВ рдорд┐рд▓ рд╕рдХрддреЗ рд╣реИрдВ ред рд╣рдо рдХреЗрд╡рд▓ рдЙрди рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВрдЧреЗ рдЬрд┐рдирдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдЪрд░ uv_MainTex рдФрд░ uv_BumpMap рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рдареАрдХ рд╕реЗ рдмрдирд╛рд╡рдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП shader рдХреЗ рд▓рд┐рдП UV рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рдЖрд╡рд╢реНрдпрдХ рд╣реИрдВред рдЗрди рдЪрд░реЛрдВ рдХреЛ рдЙрд╕реА рддрд░рд╣ рд╕реЗ рдмреБрд▓рд╛рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдЬреИрд╕реЗ рдХрд┐ рдкрд╣рд▓реЗ рдФрд░ рджреВрд╕рд░реЗ рдЪреИрдирд▓ рдХреЗ рд▓рд┐рдП рдЙрдкрд╕рд░реНрдЧ uv_ рдпрд╛ uv2_ рдХреЗ рд╕рд╛рде рдмрдирд╛рд╡рдЯ рдЪрд░ рдХреЗ рдирд╛рдоред рд░рд┐рдлреНрд▓реЗрдХреНрд╢рди рдХреЗ рд▓рд┐рдП worldRefl рдФрд░ INTERNAL_DATA рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдЕрдм рд╕рд░реНрдлрд░ рдлрд╝рдВрдХреНрд╢рди рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВред
рдкрд╣рд▓рд╛ рдХрджрдо рдЪрд╛рд░-рдШрдЯрдХ рд╡реЗрдХреНрдЯрд░ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рд╣реИ рдЬреЛ рдмрдирд╛рд╡рдЯ рдХреЗ рдкрд┐рдХреНрд╕реЗрд▓ рд░рдВрдЧ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рддрд╛ рд╣реИред рдЯреЗрдХреНрд╕ рдЪрд░ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░реЗрдЧрд╛ред рдЙрд╕рдХреЗ рдмрд╛рдж, рдХреНрд▓рд┐рдк рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд╕рд╛рде, рд╣рдо рд╕рдВрдХреЗрдд рджреЗрддреЗ рд╣реИрдВ рдХрд┐ рд╣рдо рдХрд┐рд╕ рдкрд┐рдХреНрд╕реЗрд▓ рдХреЛ рд░реЗрдВрдбрд░ рдХрд░рддреЗ рд╕рдордп рдЫреЛрдбрд╝рддреЗ рд╣реИрдВред рдХреНрдпреЛрдВрдХрд┐ рд╣рдо рдЕрд▓реНрдлрд╛ рдЪреИрдирд▓ рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдХрд╛рдЯ рджреЗрддреЗ рд╣реИрдВ, рдлрд┐рд░ рдкреИрд░рд╛рдореАрдЯрд░ рдореЗрдВ tex.a рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рддреЗ рд╣реИрдВред
рдХрддрд░рди рдХреЗ рдмрд╛рдж, рд╣рдо рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкрдВрдХреНрддрд┐ рдХреЗ рд╕рд╛рде рдСрдмреНрдЬреЗрдХреНрдЯ рдкрд░ рдЕрдкрдиреА рдореБрдЦреНрдп рдмрдирд╛рд╡рдЯ рдХреЛ рдУрд╡рд░рд▓реЗ рдХрд░рддреЗ рд╣реИрдВ:
 o.Albedo = tex.rgb; 
рдкрд░рд┐рд╡рд░реНрддрдиреАрдп рдУ рд╣рдорд╛рд░реА рдЖрдЙрдЯрдкреБрдЯ рд╕рдВрд░рдЪрдирд╛ рд╣реИред рдЗрд╕рдХреЗ рд╕рднреА рдХреНрд╖реЗрддреНрд░ рднреВрддрд▓рд╢рд╣рд░ рд╕рд╣рд╛рдпрддрд╛ рдореЗрдВ рдкрд╛рдП рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВред
рдЕрдЧрд▓рд╛ рдХрджрдо рд╕рд╛рдорд╛рдиреНрдп рдорд╛рдирдЪрд┐рддреНрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реИ:
 o.Normal = UnpackNormal (tex2D (_BumpMap, IN.uv_BumpMap)); 
рдЬрд┐рд╕рдХреЗ рдмрд╛рдж рд╣рдо рдкреНрд░рддрд┐рдмрд┐рдВрдм рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддреЗ рд╣реИрдВ:
 float4 refl = texCUBE (_Cube, WorldReflectionVector (IN, o.Normal)); o.Emission = refl.rgb * _Value * refl.a; 
рдпрд╣рд╛рдВ рдпрд╣ рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рд╣реИ рдХрд┐ рд╣рдо рдкреНрд░рддрд┐рдмрд┐рдВрдм рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкреНрд░рд╛рдкреНрдд рдЬрд╛рдирдХрд╛рд░реА рдХреЛ _Value рджреНрд╡рд╛рд░рд╛ рдЧреБрдгрд╛ рдХрд░рддреЗ рд╣реИрдВ рддрд╛рдХрд┐ рдирд┐рд░реАрдХреНрд╖рдХ рдореЗрдВ рд╣рдо рдкреНрд░рднрд╛рд╡ рдХреА рдбрд┐рдЧреНрд░реА рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░ рд╕рдХреЗрдВред
рдЦреИрд░, рд╡реАрдбрд┐рдпреЛ рдХрд╛рд░реНрдб рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдЗрд╕ shader рдкреНрд░рджрд░реНрд╢рд┐рдд рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдЕрдВрдд рдореЗрдВ Fallback рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдордд рднреВрд▓рдирд╛ред

рдФрд░ рдпрд╣рд╛рдБ рд╣реИ рдХрд┐ рд╣рдо рдХреНрдпрд╛ рдорд┐рд▓рд╛:

Source: https://habr.com/ru/post/In158983/


All Articles