рдПрдХрддрд╛ Terrane рдФрд░ рдореЗрд╖ рд╕рдореНрдорд┐рд╢реНрд░рдг

рд╕рднреА рдХреЛ рдирдорд╕реНрдХрд╛рд░, рдЬреВрди рдореЗрдВ OTUS рдПрдХ рдмрд╛рд░ рдлрд┐рд░ рдпреВрдирд┐рдЯреА рдЧреЗрдореНрд╕ рдбреЗрд╡рд▓рдкрд░ рдХреЛрд░реНрд╕ рд╢реБрд░реВ рдХрд░ рд░рд╣рд╛ рд╣реИ ред рдкрд╛рдареНрдпрдХреНрд░рдо рдХреА рд╢реБрд░реБрдЖрдд рдХреА рдкреНрд░рддреНрдпрд╛рд╢рд╛ рдореЗрдВ, рд╣рдордиреЗ рд╡рд┐рд╖рдп рдкрд░ рджрд┐рд▓рдЪрд╕реНрдк рд╕рд╛рдордЧреНрд░реА рдХрд╛ рдЕрдиреБрд╡рд╛рдж рддреИрдпрд╛рд░ рдХрд┐рдпрд╛ рд╣реИред



рдЖрдЬ рд╣рдо рдмрд╛рдд рдХрд░реЗрдВрдЧреЗ рдХрд┐ рдПрдХрддрд╛ рдореЗрдВ рдПрдХ рдЯреЗрд░реЗрдВрд╕ рдореЗрд╢ (рдпрд╛ рдЕрдиреНрдп рдореЗрд╢) рдХреЛ рдХреИрд╕реЗ рдорд┐рд▓рд╛рдпрд╛ рдЬрд╛рдПред рдпрд╣ рдорд╛рд░реНрдЧрджрд░реНрд╢рд┐рдХрд╛ рдмрд╣реБрдд рдЙрдиреНрдирдд рд╣реИ, рд▓реЗрдХрд┐рди рдореИрдВрдиреЗ рдЗрд╕реЗ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдЪрд░рдгреЛрдВ рдореЗрдВ рддреЛрдбрд╝рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреАред рдпрд╣ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рд╕рд╛рдорд╛рдиреНрдп рдПрдХрддрд╛ рдХреМрд╢рд▓ рдФрд░ рдмреБрдирд┐рдпрд╛рджреА рд╕реА # рдЬреНрдЮрд╛рди рд╣реИред рдЧрд╛рдЗрдб рдХреЛ рдкреНрд░рд╡рд░реНрдзрди рдХреЗ рд▓рд┐рдП рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕реЗ Shader Graph рдкрд░ рднреА рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдпрд╣ рдореЗрд░рд╛ рдкрд╣рд▓рд╛ рдорд╛рд░реНрдЧрджрд░реНрд╢рдХ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдпрд╣ рдкрд░реНрдпрд╛рдкреНрдд рд░реВрдк рд╕реЗ рд╕реНрдкрд╖реНрдЯ рд╣реЛрдЧрд╛ред рдЕрдЧрд░ рдЖрдк рдХреБрдЫ рдЬреЛрдбрд╝рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдореБрдЭреЗ рдмрддрд╛рдПрдВред рдореИрдВрдиреЗ рдпрд╣рд╛рдВ рдПрдХ рд╕реНрдЯрд╛рд░реНрдЯрд░ рдХрд┐рдЯ рдХреЛ рд╢рд╛рдорд┐рд▓ рдХрд┐рдпрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдЗрд╕ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдЕрддрд┐рд░рд┐рдХреНрдд рд╢реЗрдб рд╣реИрдВ, рд╕рд╛рде рд╣реА рдЖрд░рдВрдн рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдореВрд▓ рдХрд┐рдЯ рднреА рд╣реИред рдЖрдЬ рдХреЗ рдореИрдиреБрдЕрд▓ рд╕реЗ рд╕рднреА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдлрд╛рдЗрд▓реЗрдВ $ 5 рдХреЗ рд▓рд┐рдП рдореЗрд░реЗ рд╕рдВрд░рдХреНрд╖рдХ рдХреЗ рд▓рд┐рдП рдЙрдкрд▓рдмреНрдз рд╣реИрдВ, рд▓реЗрдХрд┐рди рдирд┐рдХрдЯ рднрд╡рд┐рд╖реНрдп рдореЗрдВ, рд╡реЗ рд╕рднреА рдХреЗ рд▓рд┐рдП рдЙрдкрд▓рдмреНрдз рд╣реЛрдВрдЧреЗред

тЖТ рд╕реНрдЯрд╛рд░реНрдЯрд░ рдХрд┐рдЯ
тЖТ рдкреВрд░реА рдкрд░рд┐рдпреЛрдЬрдирд╛

: , , . . , , , . ( ) unity . , , .

рддреЛ, рдЪрд▓реЛ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВред рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░реВрдБрдЧрд╛ рдФрд░ рдЙрд╕ рд╕рд┐рджреНрдзрд╛рдВрдд рдореЗрдВ рддрд▓реНрд▓реАрди рдХрд░реВрдБрдЧрд╛ рдЬрд┐рд╕ рдкрд░ рд╕рдорд╛рдзрд╛рди рдЖрдзрд╛рд░рд┐рдд рд╣реЛрдЧрд╛ред рдЯреЗрд░реНрд░рд╛рди рдФрд░ рдЕрдиреНрдп рдореЗрд╢ рдХреЗ рдмреАрдЪ рд╕рдореНрдорд┐рд╢реНрд░рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдХрд┐рд╕реА рддрд░рд╣ рд╢реЗрдбрд░ рдХреЛ рдмрддрд╛рдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИ рдЬрд╣рд╛рдВ рдЯреЗрд░реЗрдВрд╕ рдХреЗ рд╕рд╛рде рдЪреМрд░рд╛рд╣рд╛ рд╣реЛрддрд╛ рд╣реИред рдХрд╣рдиреЗ рдХреЛ рдХрд░рдиреЗ рд╕реЗ рдЖрд╕рд╛рди рд╣реИ, рд▓реЗрдХрд┐рди рдПрдХ рддрд░реАрдХрд╛ рд╣реИред рдФрд░ рдЗрд╕рдореЗрдВ рдХреНрдпрд╛ рд╢рд╛рдорд┐рд▓ рд╣реИ? рд░реЗрдВрдбрд░ рдЯреЗрдХреНрд╕рдЪрд░ рд╣рдорд╛рд░реА рдорджрдж рдХрд░реЗрдЧрд╛ !

рдПрдХ рд░реЗрдВрдбрд░ рдмрдирд╛рд╡рдЯ рдХреНрдпрд╛ рд╣реИ?


рд░реЗрдВрдбрд░ рдЯреЗрдХреНрд╕рдЪрд░ , рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдХреИрдорд░реЗ рдХреА рд╕реНрдерд┐рддрд┐ рд╣реИ, рдЬрд┐рд╕реЗ рдПрд╕реЗрдЯ-рдлрд╛рдЗрд▓ рдореЗрдВ рд╕рд╣реЗрдЬрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЧреЗрдо рдореЗрдВ рд░реЗрдВрдбрд░ рдЯреЗрдХреНрд╕рдЪрд░ рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдЕрдХреНрд╕рд░ рд╡реАрдбрд┐рдпреЛ рд╕рд░реНрд╡рд┐рд▓рд╛рдВрд╕ рд╕реНрдХреНрд░реАрди рдмрдирд╛рдиреЗ рдЬреИрд╕реА рдЪреАрдЬреЛрдВ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╣рдо рдХреИрдорд░реЗ рдХреЗ рджреГрд╢реНрдп рдХреЛ рд╕рдВрдкрд╛рджрдХ рдореЗрдВ рд╕рд╣реЗрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рд░реЗрдВрдбрд░ рдЯреЗрдХреНрд╕рдЪрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рддрд╛рдХрд┐ рдЗрд╕ рдмрдирд╛рд╡рдЯ рдХреЛ рдлрд┐рд░ рд╢реЗрдбрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗред рдпрд╣ рдЙрдкрдпреЛрдЧреА рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рд╣рдо рдЕрдкрдиреЗ рдЗрд▓рд╛рдХреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА, рдЬреИрд╕реЗ рдХрд┐ рдКрдБрдЪрд╛рдИ, рдорд╛рдирджрдВрдбреЛрдВ рдФрд░ рд░рдВрдЧреЛрдВ рдХреЛ рдПрдХ рдмрдирд╛рд╡рдЯ рдореЗрдВ рдмрд╛рдВрдз рд╕рдХрддреЗ рд╣реИрдВ, рдЬреЛ рдмрд╛рдж рдореЗрдВ рдЬрд╛рд▓реА рдФрд░ рдЯреЗрд░рд╛рди рдХреЗ рдмреАрдЪ рдорд┐рд╢реНрд░рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд░рдирдЯрд╛рдЗрдо рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред


рдЯреЗрдХреНрд╕реНрдЯ рд░реЗрдВрдбрд░рд┐рдВрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдЕрдирдЯрд╛рдЗрдЯрд▓реНрдб рдЧреЛрдЬрд╝ рдЧреЗрдо рдореЗрдВ рдЯреАрд╡реА рдкрд░ рд╣рдВрд╕ рдХреА рдЫрд╡рд┐рдпреЛрдВ рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ

рдЕрдиреБрдХреВрд▓рди


рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдЗрдП рдПрдХ рдирдпрд╛ рджреГрд╢реНрдп рдФрд░ рдЯреИрд░реЗрди рдмрдирд╛рдПрдВред рдХрд╛рдо рдХреЗ рд▓рд┐рдП рдХреБрдЫ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдЖрдХрд╛рд░ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░реЗрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, 200x200ред рдЕрдм рдЖрдк рдЬреИрд╕реЗ рдЪрд╛рд╣реЗрдВ рд╡реИрд╕реЗ рдЯреЗрд░реАрдирд░ рдХреА рд╡реНрдпрд╡рд╕реНрдерд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдлрд┐рд░ рдПрдХ рдирдИ рд▓реЗрдпрд░ рдмрдирд╛рдПрдВ рдФрд░ рдЗрд╕реЗ "Terrain" рдирд╛рдо рджреЗрдВ рдФрд░ рдЗрд╕ рд▓реЗрдпрд░ рдХреЛ рдПрдХ рдЯреЗрд░реЗрди рдЕрд╕рд╛рдЗрди рдХрд░реЗрдВред рдпрд╣ рдЖрд╡рд╢реНрдпрдХ рд╣реИ рддрд╛рдХрд┐ рдХреИрдорд░рд╛ рдорд╛рд╕реНрдХ рд░реЗрдВрдбрд░ рдЯреЗрдХреНрд╕рдЪрд░ рдореЗрдВ рдЯреЗрд░реЗрди рдХреЛ рд░рд┐рдХреЙрд░реНрдб рдХрд░ рд╕рдХреЗ ред


рдореЗрд░реА рдЙрддреНрдХреГрд╖реНрдЯ рдХреГрддрд┐

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


рд░рд┐рдкреНрд▓реЗрд╕рдореЗрдВрдЯ рд╢реЗрдбрд░


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

рд╕рдореНрдорд┐рд╢реНрд░рдг рдХреЗ рд▓рд┐рдП рд╣рдореЗрдВ рдЬрд┐рд╕ shader рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ рд╡рд╣ рд╣реИ рдЧрд╣рд░рд╛ shaderред рдпрд╣ рджреГрд╢реНрдп рдХреА рдЧрд╣рд░рд╛рдИ рдХрд╛ рдкреНрд░рддрд┐рдкрд╛рджрди рдХрд░рддрд╛ рд╣реИ рдФрд░ рд╣рдорд╛рд░реЗ рд╕рдореНрдорд┐рд╢реНрд░рдг рдкреНрд░рднрд╛рд╡ рдХреЛ рдмрдирд╛рдиреЗ рдореЗрдВ рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдШрдЯрдХ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рд╣рдорд╛рд░реЗ рдХреИрдорд░реЗ рдХреА рдЧрд╣рд░рд╛рдИ рдХреЗ рдореВрд▓реНрдпреЛрдВ рдХреЛ рдмрдирд╛рд╡рдЯ рдореЗрдВ рд▓рд┐рдЦрддрд╛ рд╣реИ рддрд╛рдХрд┐ рд╣рдо рдЙрдиреНрд╣реЗрдВ рдмрд╛рдж рдореЗрдВ рдкрдврд╝ рд╕рдХреЗрдВред рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░ рдЗрд╕ shader рдФрд░ рд░рд┐рдкреНрд▓реЗрд╕рдореЗрдВрдЯ Shader рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдЬрд╛рдирдиреЗ рдХреЗ рд▓рд┐рдП , рдореЗрд░рд╛ рд╕реБрдЭрд╛рд╡ рд╣реИ рдХрд┐ рдЖрдк рдореЗрдХрд┐рдВрдЧ рд╕реНрдЯрдл рд▓реБрдХ рдЧреБрдб рдЗрди рдпреВрдирд┐рдЯреА рд╕реЗ рдЗрд╕ рдореИрдиреБрдЕрд▓ рдХреЛ рдкрдврд╝реЗрдВ ред


рдЧрд╣рд░рд╛рдИ рдХрд╛ рдЙрджрд╛рд╣рд░рдг

рдЪрд▓рд┐рдП рдкрдХрд╛рддреЗ рд╣реИрдВ


рдЪрд▓реЛ рдПрдХ рдирдпрд╛ рд╡рд░реНрдЧ рдмрдирд╛рддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕реЗ "TerrainBlendingBaker" рдирд╛рдо рджреЗрддреЗ рд╣реИрдВ ред рдЖрдЗрдП рдЖрдзрд╛рд░ рдЯреЗрд░рдирд░ рдХреЗ рд▓рд┐рдП рдПрдХ рдЧрд╣рд░рд╛рдИ рдорд╛рд╕реНрдХ рд▓рд╛рдЧреВ рдХрд░рдХреЗ рд╢реБрд░реВ рдХрд░реЗрдВред рдмрд╛рдж рдореЗрдВ рд╣рдо рдЗрд╕ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рд░рдВрдЧ рдФрд░ рдорд╛рдирджрдВрдб рдЬреЛрдбрд╝ рджреЗрдВрдЧреЗред

рдХрдИ рдЪрд░ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░реЗрдВред

//Shader that renders object based on distance to camera
public Shader depthShader;
//The render texture which will store the depth of our terrain
public RenderTexture depthTexture;
//The camera this script is attached to
private Camera cam;

рдЕрдм рдПрдХ рдирдИ рд╡рд┐рдзрд┐ рдмрдирд╛рддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕реЗ "UpdateBakingCamera" рдХрд╣рддреЗ рд╣реИрдВ ред рдЗрд╕ рдкрджреНрдзрддрд┐ рдореЗрдВ, рд╣рдо рдХреИрдорд░рд╛ рдбреЗрдЯрд╛ рдХреЛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░реЗрдВрдЧреЗ рдХрд┐ shader рдХреЛ рд╡реИрд╢реНрд╡рд┐рдХ рдЪрд░реЛрдВ рдореЗрдВ рд╕рдореНрдорд┐рд╢реНрд░рдг рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИред

private void UpdateBakingCamera()
    {
        //if the camera hasn't been assigned then assign it
        if (cam == null)
        {
            cam = GetComponent<Camera>();
        }
 
        //the total width of the bounding box of our cameras view
        Shader.SetGlobalFloat("TB_SCALE", GetComponent<Camera>().orthographicSize * 2);
        //find the bottom corner of the texture in world scale by subtracting the size of the camera from its x and z position
        Shader.SetGlobalFloat("TB_OFFSET_X", cam.transform.position.x - cam.orthographicSize);
        Shader.SetGlobalFloat("TB_OFFSET_Z", cam.transform.position.z - cam.orthographicSize);
        //we'll also need the relative y position of the camera, lets get this by subtracting the far clip plane from the camera y position
        Shader.SetGlobalFloat("TB_OFFSET_Y", cam.transform.position.y - cam.farClipPlane);
        //we'll also need the far clip plane itself to know the range of y values in the depth texture
        Shader.SetGlobalFloat("TB_FARCLIP", cam.farClipPlane);
 
        //NOTE: some of the arithmatic here could be moved to the shader but keeping it here makes the shader cleaner so ┬п\_(уГД)_/┬п
    }

рдЕрдм рдЯреЗрдХреНрдЯрд░ рдХреА рдЧрд╣рд░рд╛рдИ рдХреЛ рдмрдирд╛рд╡рдЯ рдореЗрдВ рдмрд╛рдВрдзрддреЗ рд╣реИрдВред

// The context menu tag allows us to run methods from the inspector (https://docs.unity3d.com/ScriptReference/ContextMenu.html)
[ContextMenu("Bake Depth Texture")]
public void BakeTerrainDepth()
{
    //call our update camera method 
    UpdateBakingCamera();
 
    //Make sure the shader and texture are assigned in the inspector
    if (depthShader != null && depthTexture != null)
    {
        //Set the camera replacment shader to the depth shader that we will assign in the inspector 
        cam.SetReplacementShader(depthShader, "RenderType");
        //set the target render texture of the camera to the depth texture 
        cam.targetTexture = depthTexture;
        //set the render texture we just created as a global shader texture variable
        Shader.SetGlobalTexture("TB_DEPTH", depthTexture);
    }
    else
    {
        Debug.Log("You need to assign the depth shader and depth texture in the inspector");
    }
}

рдЬрдм рд╣рдо рд╢реЗрдбрд░ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░реЗрдВрдЧреЗ рддреЛ рдореВрд▓реНрдп рд╕реНрдкрд╖реНрдЯ рд╣реЛ рдЬрд╛рдПрдВрдЧреЗред рдпрд╣рд╛рдБ рдПрдХ рдЫреЛрдЯреА рд╕реА рддрд╕реНрд╡реАрд░ рд╣реИ рдЬреЛ рдХреБрдЫ рдкреНрд░рдХрд╛рд╢ рдбрд╛рд▓ рд╕рдХрддреА рд╣реИ:


рд╣рдо рдмрд╛рдж рдореЗрдВ рдЗрд╕реЗ рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдЯреЗреНрд░рдирд░ рдХреЛ рдЧрд╣рд░рд╛рдИ рдХреА рдмрдирд╛рд╡рдЯ рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдиреЗ рдЬрд╛ рд░рд╣реЗ рд╣реИрдВ рдФрд░ рд╕рдордЭ рд░рд╣реЗ рд╣реИрдВ рдХрд┐ рд╕рдореНрдорд┐рд╢реНрд░рдг рдХрд╣рд╛рдВ рдХрд░рдирд╛ рд╣реИред

рдЕрдм рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд╕рдм рдХреБрдЫ рд╣реИ рдЬреЛ рд╣рдореЗрдВ рдЫрд╛рдпрд╛ рдореЗрдВ рдмреБрдирд┐рдпрд╛рджреА рд╕рдореНрдорд┐рд╢реНрд░рдг рдкреНрд░рднрд╛рд╡ рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЗрд╕ рдмрд┐рдВрджреБ рдкрд░, рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддреА рд╣реИ: pastebin.com/xNusLJfh

рдареАрдХ рд╣реИ, рдЕрдм рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╣реИ, рд╣рдо рдЗрд╕реЗ рдЙрд╕ рдмреЗрдХрд┐рдВрдЧ рдХреИрдорд░реЗ рдореЗрдВ рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ рдЬрд┐рд╕реЗ рд╣рдордиреЗ рдкрд╣рд▓реЗ рдЬреЛрдбрд╝рд╛ рдерд╛ред рдкреНрд░рд╛рд░рдВрднрд┐рдХ рд╕рдВрдкрддреНрддрд┐рдпреЛрдВ рдореЗрдВ 'рдбреЗрдкреНрдерд╢реЗрдпрд░' (Inresin / Shaders / DepthShader) рдФрд░ 'DepthTerrainRT' (Inresin / RenderTextures / DepthTextureRT) рдирд╛рдордХ рдПрдХ рд░реЗрдВрдбрд░ рдмрдирд╛рд╡рдЯ рд╣реЛрддреА рд╣реИ, рдЖрдкрдХреЛ рдЙрдиреНрд╣реЗрдВ рдЗрдВрд╕реНрдкреЗрдХреНрдЯрд░ рдореЗрдВ рдЙрдкрдпреБрдХреНрдд рдлрд╝реАрд▓реНрдб рдореЗрдВ рд░рдЦрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред

рдЙрд╕рдХреЗ рдмрд╛рдж, рдХреЗрд╡рд▓ рд░реЗрдВрдбрд░ рдЯреЗрдХреНрд╕рдЪрд░ рдореЗрдВ рд╣рдорд╛рд░реЗ рдЗрд▓рд╛рдХреЗ рдХреА рдЧрд╣рд░рд╛рдИ рдХреЛ рд╕реЗрдВрдХрдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдВрджрд░реНрдн рдореЗрдиреВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╡рд┐рдзрд┐ рдЪрд▓рд╛рдПрдВ ред


рд╢реЗрдбрд░


рдЪрд▓реЛ рдЕрдВрдд рдореЗрдВ рд╕рдореНрдорд┐рд╢реНрд░рдг рдХреЗ рд▓рд┐рдП рдПрдХ shader рдмрдирд╛рдПрдБред рдПрдХ рдирдП рдорд╛рдирдХ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдмрдврд╝рд╛рдирд╛ рд╢реЗрдбрд░ рдФрд░ рдЗрд╕реЗ рдЦреЛрд▓рдиреЗ, рдЗрд╕реЗ рдирд╛рдо 'TerrainBlending' рдпрд╛ рддреЛред

рдЕрдм рд╣рдореЗрдВ рд░реЗрдВрдбрд░ рдЯреЗрдХреНрд╕рдЪрд░ рдХреЗ рд▓рд┐рдП рдпреВрд╡реА рдмрдирд╛рдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИ ред рдпрд╣ рдЙрд╕ рдмрд┐рдВрджреБ рдХреЗ рдмреАрдЪ рдХрд╛ рдЕрдВрддрд░ рд╣реЛрдЧрд╛ рдЬрд┐рд╕рдХрд╛ рдкреНрд░рддрд┐рдкрд╛рджрди рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ рдФрд░ рдмреЗрдХрд┐рдВрдЧ рдХреИрдорд░рд╛ рд╕реНрдерд┐рддрд┐ рдХреБрд▓ рдХреНрд╖реЗрддреНрд░ рдХреЗ рд╕рд╛рдкреЗрдХреНрд╖ рдХрдо рд╣реЛ рдЧрдИ рд╣реИред рдпрд╣рд╛рдБ рддреАрди рд╡реИрд╢реНрд╡рд┐рдХ рдЪрд░ рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рд╣рдордиреЗ рдЕрднреА рдХреЛрдб рдореЗрдВ рдШреЛрд╖рд┐рдд рдХрд┐рдпрд╛ рд╣реИред рд╣рдо рджреБрдирд┐рдпрд╛ рдХреЛ рд╕реНрдерд╛рдиреАрдп рдЪрд░ рдХреЗ рд░реВрдк рдореЗрдВ рднреА рд╕реЗрдЯ рдХрд░рддреЗ рд╣реИрдВ , рд╣рдореЗрдВ рдмрд╛рдж рдореЗрдВ рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред



рдЖрдЗрдП рдЧрд╣рд░рд╛рдИ рдХреА рдмрдирд╛рд╡рдЯ рд▓реЗрддреЗ рд╣реИрдВ, рдЬрд┐рд╕реЗ рд╣рдордиреЗ рдПрдХ рд╡реИрд╢реНрд╡рд┐рдХ рдЪрд░ рдХреЗ рд░реВрдк рдореЗрдВ рд╕реМрдВрдкрд╛ рд╣реИ (рдЗрд╕рдХреЗ рд▓рд┐рдП рдмрдирд╛рд╡рдЯ рдирдореВрдирд╛ рдиреЛрдб рдЬреЛрдбрд╝реЗрдВ , рдЗрд╕реЗ рд╡реИрд╢реНрд╡рд┐рдХ рдмрдирд╛рдПрдВ рдФрд░ рдЗрд╕реЗ 'TB_DEVTH' рдирд╛рдо рджреЗрдВред), рдпрджрд┐ рд╣рдо рдбрд┐рдмрдЧ рдореЗрдВ рдЖрдЙрдЯрдкреБрдЯ рдХреЛ shader рдХреЛ рдПрдХ рдлрд╝реАрд▓реНрдб рдмрдврд╝рд╛рддреЗ рд╣реИрдВ , рддреЛ рд╣рдо рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдХреНрдпрд╛ рд╣реЛрддрд╛ рд╣реИред рдЙрд╕ рд╕рд╛рдордЧреНрд░реА рдХреЗ рд╕рд╛рде рдПрдХ рд╡рд┐рдорд╛рди рдмрдирд╛рдПрдВ, рдЬрд┐рд╕рдореЗрдВ рд╣рдорд╛рд░рд╛ рдирдпрд╛ рд╢реЗрдбрд░ рд▓рдЧрд╛рдпрд╛ рдЬрд╛рдПрдЧрд╛ред


рдЗрд╕рд▓рд┐рдП, рдЫрд╛рдпрд╛рджрд╛рд░ рдореЗрдВ, рд╣рдореЗрдВ рдЧрд╣рд░рд╛рдИ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рд╣реИ, рдЕрдм рд╣рдореЗрдВ рд╕рдореНрдорд┐рд╢реНрд░рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП y рдореЗрдВ рдПрдХ рдСрдлрд╕реЗрдЯ рдЬреЛрдбрд╝рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред



рдпрд╣ рдмреНрд▓реЙрдХ рджреВрд░ рдХреНрд▓рд┐рдк рдкреНрд▓реЗрди рдорд╛рд╕реНрдХ рдХреА y рд╕реНрдерд┐рддрд┐ рдХреЛ рдорд╛рдкрддрд╛ рд╣реИ , рдЗрд╕ рдореВрд▓реНрдп рдХреЛ рдЙрд╕ рджреБрдирд┐рдпрд╛ рдХреА рд╕реНрдерд┐рддрд┐ рд╕реЗ рд╣рдЯрд╛рддрд╛ рд╣реИ рдЬрд┐рд╕ рдмрд┐рдВрджреБ рдХреЗ y рдЕрдХреНрд╖ рдХреЗ рд╕рд╛рде рдЗрд╕рдХрд╛ рдкреНрд░рддрд┐рдкрд╛рджрди рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ, рдФрд░ рдлрд┐рд░ рдЕрдВрдд рдореЗрдВ рдЗрд╕реЗ рдХреИрдорд░рд╛ рдХреЗ рдмрд╛рдЙрдВрдбрд┐рдВрдЧ рдмреЙрдХреНрд╕ рдХреЗ рдирд┐рдЪрд▓реЗ рд╣рд┐рд╕реНрд╕реЗ рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░ рджреЗрддрд╛ рд╣реИ (рдХреИрдорд░рд╛ рдкреНрд▓реЗрдирд╕ рдСрдлрд╝ рдж рдХреНрд▓рд╛рдЙрдб рдкреНрд▓реЗрди рдХреА y рд╕реНрдерд┐рддрд┐ )ред

рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдХреБрдЫ! рд╣рдо рджреЗрдЦрддреЗ рд╣реИрдВ рдХрд┐ рдкреНрд▓реЗрди рдХреЗ рдХрд┐рдирд╛рд░реЛрдВ рдХреЛ рдЯреЗрд░реЗрди рдХреЗ рд╕рд╛рде рдХреИрд╕реЗ рдорд┐рд▓рд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред



рдареАрдХ рд╣реИ, рдЪрд▓реЛ рд╕рдореНрдорд┐рд╢реНрд░рдг рдХреЛ рдФрд░ рдЕрдзрд┐рдХ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рддреЗ рд╣реИрдВред



рдЕрдм рд╣рдо рд╕рдореНрдорд┐рд╢реНрд░рдг рдХреНрд╖реЗрддреНрд░ рдХреА рдореЛрдЯрд╛рдИ рдФрд░ рдХреНрд╖реЗрддреНрд░ рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред



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



рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ рд╢реЛрд░ рдмрдирд╛рд╡рдЯ рдмрдирд╛рд╡рдЯ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рд╣реИрдВ, рдЙрдиреНрд╣реЗрдВ рдирд┐рд░реАрдХреНрд╖рдХ рдореЗрдВ рдпрд╛ рдПрдХ рд╢реЗрдбрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдЦреБрдж рдХреЛ рд╕реМрдВрдкрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рдЕрдВрдд рдореЗрдВ рдпрд╣ рдХреБрдЫ рдмрдирд╛рд╡рдЯ рдЬреЛрдбрд╝рдиреЗ рдХрд╛ рд╕рдордп рд╣реИ! рдЖрд░рдВрдн рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдЗрдП рдХреБрдЫ рд╕рд░рд▓ рдПрдХрд▓-рд░рдВрдЧ рдмрдирд╛рд╡рдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ, рдореИрдВрдиреЗ рдмрдирд╛рд╡рдЯ рд╕рдВрдкрддреНрддрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рджреЛ рдмрдирд╛рд╡рдЯ рдЬреЛрдбрд╝реЗред 'SingleColorGrass' рдмрдирд╛рд╡рдЯ рдХреЛ рдЯреЗрд░реЗрди рдЯреЗрдХреНрд╕рдЪрд░ рдмрдирд╛рдПрдВ ред рдлрд┐рд░ shader рдореЗрдВ рдЖрдкрдХреЛ рдПрдХ terrane рдмрдирд╛рд╡рдЯ рдФрд░ рдПрдХ рдСрдмреНрдЬреЗрдХреНрдЯ рдмрдирд╛рд╡рдЯ рдиреЛрдб рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ ред рд╣рдо рдЙрди рдореБрдЦреМрдЯреЗ рдХреЗ рд▓рд╛рд▓ рдЪреИрдирд▓ рдкрд░ рд╕реНрд╡рд┐рдЪ рдХрд░реЗрдВрдЧреЗ рдЬреЛ рд╣рдордиреЗ рдЕрднреА рдмрдирд╛рдП рдереЗред




рдФрд░ рдпрд╣рд╛рдВ рдкреВрд░рд╛ рд╢реЗрдбрд░ рд╣реИред



рдХрд╕реНрдЯрдо рдЯреЙрди рд▓рд╛рдЗрдЯрд┐рдВрдЧ рдпрд╛ рдЕрдирд▓рд┐рдорд┐рдЯреЗрдб рд▓рд╛рдЗрдЯрд┐рдВрдЧ рдореЙрдбрд▓ рдЬреЛрдбрд╝рдирд╛ рдЗрд╕ рд╢реЗрдбрд░ рдХреЗ рд▓рд┐рдП рд╕рд░реНрд╡реЛрддреНрддрдо рдкрд░рд┐рдгрд╛рдо рдкреНрд░рджрд╛рди рдХрд░реЗрдЧрд╛ ред рдореИрдВ рдЕрдирд▓рдХреА рд╣реЛ рдЧрдпрд╛рдЯреЗреНрд░рдирд░ рд╢реЗрдбрд░ рдФрд░ рдкреНрд░рд╛рдпреЛрдЬрдХ рдХреЗ рд▓рд┐рдП рдЙрдкрд▓рдмреНрдз рдкреВрд░реНрдг рдкреИрдХреЗрдЬ рдореЗрдВ рд╢реЗрдбрд░ рдХрд╛ рдЕрдирд▓рд┐рдорд┐рдЯреЗрдб рд╕рдВрд╕реНрдХрд░рдгред


рддрд┐рдорд┐рд░рд╛рдЪреНрдЫрдиреНрди Terrane рдФрд░ Meshes

рдореИрдВ рднреА terrane рдФрд░ рд╕рдВрднрд╡рддрдГ рдЕрдиреНрдп meshes рдХреЗ рд▓рд┐рдП рдПрдХ triplanar рд╢реЗрдбрд░ рдЬреЛрдбрд╝рдиреЗ рдХрд╛ рд╕реБрдЭрд╛рд╡ рджреЗрддреЗред рдореИрдВ рдЗрд╕ рдореБрджреНрджреЗ рдкрд░ рдЕрдЧрд▓реЗ рдЧрд╛рдЗрдб рдореЗрдВ рд╡рд┐рдЪрд╛рд░ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВред

рдареАрдХ рд╣реИ, рд╣рдо рд▓рдЧрднрдЧ рдЖрдЬ рдХреЗ рдЧрд╛рдЗрдб рдХреЗ рдореБрдЦреНрдп рд╡рд┐рд╖рдп рдХреЗ рд╕рд╛рде рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдореИрдВрдиреЗ рдХреБрдЫ рдЦрдВрдб рдЬреЛрдбрд╝реЗ рд╣реИрдВ рдЬреЛ рд╢реЗрдбрд░ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХреЗ рд╕рд╛рде рдорджрдж рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рд╢реЗрдбрд░ рдПрдХреНрд╕рдЯреЗрдВрд╢рди - рд╕рд╛рдорд╛рдиреНрдп


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



рдХреЛрдб рд▓рдЧрднрдЧ рд╕рдорд╛рди рд░реВрдк рд╕реЗ рдЧрд╣рд░рд╛рдИ рдХреЗ рдирдХреНрд╢реЗ рдХреЗ рд╕рд╛рде рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕ рдмрд╛рд░ рд╣рдо рд╕рд╛рдорд╛рдиреНрдп рдирдХреНрд╢реЗ рдХреЛ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рд╢реЗрдбрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗ ред рдореИрдВрдиреЗ рд╕рд╛рдорд╛рдиреНрдп рд░рд┐рдХреЙрд░реНрдбрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рд░реЗрдВрдбрд░ рдмрдирд╛рд╡рдЯ рдХрд╛ рдПрдХ рд╕реЗрдЯ рднреА рдЬреЛрдбрд╝рд╛ (рдпрд╣рд╛рдВ рдЖрдкрдХреЛ рдЕрддрд┐рд░рд┐рдХреНрдд рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИ)ред

рдорд╛рдирджрдВрдбреЛрдВ рдХреЛ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдпрд╣ рдЯреНрдпреВрдирд┐рдВрдЧ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдереЛрдбрд╝рд╛ рдЕрдзрд┐рдХ рдкреНрд░рдпрд╛рд╕ рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рдирд┐рдореНрди-рд╕реНрддрд░реАрдп рдЯреЗрд░реЗрдВрд╕ рд╕реЗ рдЬреБрдбрд╝рд╛ рдкреНрд░рддрд┐рдмрдВрдз рднреА рд╣реЛ рд╕рдХрддрд╛ рд╣реИ (рд▓реЗрдХрд┐рди рдореИрдВрдиреЗ рдЗрд╕рдХреА рдкреБрд╖реНрдЯрд┐ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рдкрд░реАрдХреНрд╖рдг рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИ)ред

рд╢реЗрдбрд░ рдПрдХреНрд╕рдЯреЗрдВрд╢рди - рдСрд▓ рдХрд▓рд░реНрд╕


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

рдпрд╣рд╛рдБ рдмрд╣реБрд░рдВрдЧрд╛ рд╡рд┐рдХрд▓реНрдк рдХреЗ рд▓рд┐рдП рдХреЛрдб рд╣реИ:

[Header("The following settings are only if using the multi-color terrain shader")]
//Shader that renders the unlit terraom of an object
public Shader unlitTerrainShader;
//The render texture which will store the normals of our terrain
public RenderTexture surfaceTexture;
//An unlit terrain material used to capture the texture of our terrain without any lighting
public Material unlitTerrainMaterial;
//The terrain you want to capture the textures of
public Terrain yourTerrain;
 
[ContextMenu("Bake Surface Texture")]
public void BakeTerrainSurface()
{
    UpdateBakingCamera();
 
    //return if there is no terrain assigned
    if (yourTerrain == null)
    {
        Debug.Log("You need to assign a terrain to capture surface texture");
        return;
    }
 
    StartCoroutine(BakeColors());
}
 
IEnumerator BakeColors()
{
    Material tempTerrainMaterial = yourTerrain.materialTemplate;
 
    yourTerrain.materialTemplate = unlitTerrainMaterial;
 
    yield return 0;
 
    cam.SetReplacementShader(unlitTerrainShader, "RenderType");
    cam.targetTexture = surfaceTexture;
    Shader.SetGlobalTexture("TB_SURFACE", surfaceTexture);
 
    yield return 0;
 
    cam.targetTexture = null;
    yourTerrain.materialTemplate = tempTerrainMaterial;
 
    yield return null;
 
}

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


рдЕрдзрд┐рдХ рдмрдирд╛рд╡рдЯ рд╡рд╛рд▓реЗ

рд╕рдореНрдорд┐рд╢реНрд░рдг рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рд╕рдореНрдорд┐рд╢реНрд░рдг рдХреЗ рд╕рд╛рде рдПрдХ рдкреВрд░реНрдг рдмрд╣реБрд░рдВрдЧрд╛ рдЧреНрд░рд╛рдл рд╣реИ:




рдирд┐рд╖реНрдХрд░реНрд╖


рдмрдзрд╛рдИ рд╣реЛ рдЕрдЧрд░ рдЖрдкрдиреЗ рдЗрд╕ рдмрд┐рдВрджреБ рддрдХ рдкрдврд╝рд╛ рд╣реИ! рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВрдиреЗ рдХрд╣рд╛, рдпрд╣ рдореЗрд░рд╛ рдкрд╣рд▓рд╛ рдорд╛рд░реНрдЧрджрд░реНрд╢рдХ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреА рд╕рд░рд╛рд╣рдирд╛ рдХрд░реВрдВрдЧрд╛ред рдпрджрд┐ рдЖрдк рдЧреЗрдо рдФрд░ рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рдмрдирд╛рдиреЗ рдореЗрдВ рдореЗрд░рд╛ рд╕рдорд░реНрдерди рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдпрд╣рд╛рдВ рджреЗрдЦреЗрдВ рдпрд╛ рдореЗрд░реЗ рдЯреНрд╡рд┐рдЯрд░ рдкрд░ рд╕рджрд╕реНрдпрддрд╛ рд▓реЗрдВ ред



рдкрд╛рдареНрдпрдХреНрд░рдо рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдЬрд╛рдиреЗрдВ

All Articles