рдЖрдВрд╢рд┐рдХ рд░реВрдк рд╕реЗ
Minecraft рдХреА рд▓реЛрдХрдкреНрд░рд┐рдпрддрд╛ рдХреЗ рдХрд╛рд░рдг, рд╣рд╛рд▓ рд╣реА рдореЗрдВ рдПрдХ рдЧреЗрдо рдХреЗ рд╡рд┐рдЪрд╛рд░ рдореЗрдВ рдмрдврд╝рддреА рд░реБрдЪрд┐ рд╣реИ рдЬреЛ 3 рдбреА рд░рд╛рд╣рдд рд╕реЗ рдмрдирд╛ рдПрдХ рдШрд┐рд╕рд╛ рд╣реБрдЖ рджреБрдирд┐рдпрд╛ рдореЗрдВ рдЬрдЧрд╣ рд▓реЗрддрд╛ рд╣реИ рдФрд░ рдЧреБрдлрд╛рдУрдВ, рдЪрдЯреНрдЯрд╛рдиреЛрдВ рдФрд░ рдЗрддрдиреЗ рдкрд░ рдЬреИрд╕реЗ рддрддреНрд╡реЛрдВ рд╕реЗ рднрд░рд╛ рд╣реЛрддрд╛ рд╣реИред рдРрд╕реА рджреБрдирд┐рдпрд╛ рдореЗрд░реЗ
рдПрдПрдирдПрд▓ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреА рд╢реИрд▓реА рдореЗрдВ рдЙрддреНрдкрдиреНрди рд╢реЛрд░ рдХреЗ рд▓рд┐рдП рдПрдХ рдЖрджрд░реНрд╢ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рд╣реИред рдпрд╣ рдЖрд▓реЗрдЦ рдЗрд╕ рддрдХрдиреАрдХ
рдХреЛ рд▓рд╛рдЧреВ
рдХрд░рдиреЗ рдХреЗ рдореЗрд░реЗ рдкрд┐рдЫрд▓реЗ
рдкреНрд░рдпрд╛рд╕реЛрдВ рдХреА рдЪрд░реНрдЪрд╛ рд╕реЗ рдЙрддреНрдкрдиреНрди рд╣реБрдЖред рддрдм рд╕реЗ, рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреА рд╕рдВрд░рдЪрдирд╛ рдореЗрдВ рдорд╛рдореВрд▓реА рдмрджрд▓рд╛рд╡ рджрд┐рдЦрд╛рдИ рджрд┐рдПред
рдкрд┐рдЫрд▓реЗ рдкреЛрд╕реНрдЯреЛрдВ рдореЗрдВ, рдореИрдВрдиреЗ Minecraft-рд╕реНрдЯрд╛рдЗрд▓ рдЗрд▓рд╛рдХреЗ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП 3D рд╢реЛрд░ рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХреА рдереАред рдЙрд╕рдХреЗ рдмрд╛рдж, рдкреБрд╕реНрддрдХрд╛рд▓рдп рдереЛрдбрд╝рд╛ рд╡рд┐рдХрд╕рд┐рдд рд╣реБрдЖ, рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ рдЗрд╕ рд╡рд┐рд╖рдп рдкрд░ рд▓реМрдЯрдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ред рдЪреВрдВрдХрд┐ рдореБрдЭреЗ рдЗрд╕ рдкреНрд░рдгрд╛рд▓реА рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХрдИ рд╕рд╡рд╛рд▓реЛрдВ рдХреЗ рдЬрд╡рд╛рдм рджреЗрдиреЗ рдереЗ, рдЗрд╕рд▓рд┐рдП рдореИрдВ рдЗрд╕рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдЕрд╡рдзрд╛рд░рдгрд╛рдУрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдмрд╛рдд рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реВрдВрдЧрд╛ред рдмреБрдирд┐рдпрд╛рджреА рдЕрд╡рдзрд╛рд░рдгрд╛рдУрдВ рдХреЛ рд╕реНрдкрд╖реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВ рдЯреЗрд░рд╛рд░рд┐рдпрд╛ рдФрд░ рдХрд┐рдВрдЧ рдЖрд░реНрдерд░ рдХреЗ рдЧреЛрд▓реНрдб рдЬреИрд╕реЗ рдЦреЗрд▓реЛрдВ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ 2 рдбреА рдЗрд▓рд╛рдХреЗ рдкреИрджрд╛ рдХрд░рдиреЗ рдХреЗ рд╡рд┐рдЪрд╛рд░ рд╕реЗ рд╢реБрд░реВ рдХрд░рддрд╛ рд╣реВрдВ, рдФрд░ рдлрд┐рд░ рд╕рд┐рд╕реНрдЯрдо рдХреЛ Minecraft рдЬреИрд╕реЗ 3 рдбреА рдЙрджрд╛рд╣рд░рдгреЛрдВ рддрдХ рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рдХрд░рддрд╛ рд╣реВрдВред рдпрд╣ рдореБрдЭреЗ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд░реВрдк рдореЗрдВ рдЫрд╡рд┐рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЕрд╡рдзрд╛рд░рдгрд╛рдУрдВ рдХреЛ рдЕрдзрд┐рдХ рдкреНрд░рднрд╛рд╡реА рдврдВрдЧ рд╕реЗ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдЧрд╛ред
рдЗрд╕ рдкреНрд░рдгрд╛рд▓реА рдХреЛ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕рд╛рд░ рд▓рдХреНрд╖реНрдп рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрддреЗ рд╣реБрдП рд╡рд┐рдХрд╕рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛: рд╣рдореЗрдВ рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдмрд┐рдВрджреБ рдпрд╛ рд╕реЗрд▓ рдХреЗ рд╕рдордиреНрд╡рдп рдХреЛ рдкрд╛рд░рд┐рдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рдФрд░ рдпрд╣ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдЗрд╕ рд╕реНрдерд╛рди рдореЗрдВ рдХрд┐рд╕ рдкреНрд░рдХрд╛рд░ рдХрд╛ рдмреНрд▓реЙрдХ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рд╣рдо рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдХрд┐ рдкреНрд░рдгрд╛рд▓реА рдПрдХ "рдмреНрд▓реИрдХ рдмреЙрдХреНрд╕" рд╣реЛ: рд╣рдо рдЗрд╕реЗ рдПрдХ рдмрд┐рдВрджреБ рдкрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВ, рдмреНрд▓реЙрдХ рдХреЗ рдкреНрд░рдХрд╛рд░ рдХреЛ рд╡рд╛рдкрд╕ рдХрд░рддреЗ рд╣реИрдВред рдмреЗрд╢рдХ, рдпрд╣ рдХреЗрд╡рд▓ рджреБрдирд┐рдпрд╛ рдХреА рд╢реБрд░реБрдЖрддреА рдкреАрдврд╝реА рдкрд░ рд▓рд╛рдЧреВ рд╣реЛрддрд╛ рд╣реИред рдЗрд╕ рддрд░рд╣ рдХреЗ рдЦреЗрд▓ рдореЗрдВ рдмреНрд▓реЙрдХ рдЦрд┐рд▓рд╛рдбрд╝реА рдХреЗ рдХрд╛рд░реНрдпреЛрдВ рджреНрд╡рд╛рд░рд╛ рдмрджрд▓рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рдПрдХ рд╣реА рдкреНрд░рдгрд╛рд▓реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдРрд╕реЗ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рдирд╛ рдЕрд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реЛрдЧрд╛ред рдЗрд╕ рддрд░рд╣ рдХреЗ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЛ рдХрд┐рд╕реА рдЕрдиреНрдп рддрд░реАрдХреЗ рд╕реЗ рдЯреНрд░реИрдХ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрд╣ рдкреНрд░рдгрд╛рд▓реА рдореВрд▓ рджреБрдирд┐рдпрд╛, рдкреНрд░рд╛рдЪреАрди рдФрд░ рдЦрд┐рд▓рд╛рдбрд╝реА рдФрд░ рдЕрдиреНрдп рдкрд╛рддреНрд░реЛрдВ рдХреЗ рд╣рд╛рдереЛрдВ рд╕реЗ рдЕрдЫреВрддреА рд╣реИред
рд╢рд╛рдпрдж рдпрд╣ рддрдХрдиреАрдХ рдореЙрдбрд▓рд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдЬреИрд╕реЗ рдХрд┐ рдШрд╛рд╕ рдпрд╛ рдЕрдиреНрдп рдЬреИрд╡рд┐рдХ рд╕рдВрд╕реНрдерд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреБрдХреНрдд рдирд╣реАрдВ рд╣реИ, рдпрд╣ рджреЗрдЦрддреЗ рд╣реБрдП рдХрд┐ рдЗрд╕ рддрд░рд╣ рдХреА рдкреНрд░рдгрд╛рд▓реА рдЦреБрдж рдЬрдЯрд┐рд▓ рдЗрдХрд╛рдЗрдпрд╛рдВ рд╣реИрдВ рдЬреЛ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рд░реВрдк рд╕реЗ рдореЙрдбрд▓ рдХрд░рдирд╛ рдЗрддрдирд╛ рдЖрд╕рд╛рди рдирд╣реАрдВ рд╣реИред рд╡рд╣реА рд╕рд┐рд╕реНрдЯрдо рдкрд░ рд▓рд╛рдЧреВ рд╣реЛрддрд╛ рд╣реИ рдЬреИрд╕реЗ рдмрд░реНрдл рдЧрд┐рд░рдирд╛, рдмрд░реНрдл рдХрд╛ рдмрдирдирд╛, рдЖрджрд┐ ... рд▓реЗрдЦ рдореЗрдВ рд╡рд░реНрдгрд┐рдд рддрдХрдиреАрдХ рдПрдХ
рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рд╡рд┐рдзрд┐ рд╣реИ , рдЕрд░реНрдерд╛рддреНред рдПрдХ рдЬрд┐рд╕рдХрд╛ рдПрдХ рдмрд┐рдВрджреБ рдкрд░ рдЕрдиреБрдорд╛рди рд▓рдЧрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рдХрд┐рд╕реА рджрд┐рдП рдЧрдП рдмрд┐рдВрджреБ рдкрд░ рдЬрд┐рд╕рдХрд╛ рдореВрд▓реНрдп рдЖрд╕рдкрд╛рд╕ рдХреЗ рдореВрд▓реНрдпреЛрдВ рдкрд░ рдирд┐рд░реНрднрд░ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рд╕рдЯреАрдХ рд╕рд┐рдореБрд▓реЗрд╢рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬреИрд╡рд┐рдХ рдФрд░ рдЕрдиреНрдп рдкреНрд░рдХрд╛рд░ рдХреА рдкреНрд░рдгрд╛рд▓рд┐рдпреЛрдВ рдХреЛ рдЖрдорддреМрд░ рдкрд░ рдкрд░реНрдпрд╛рд╡рд░рдгреАрдп рдореВрд▓реНрдпреЛрдВ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП: рдПрдХ рдмреНрд▓реЙрдХ рдкрд░ рдХрд┐рддрдиреА рдзреВрдк рдкрдбрд╝рддреА рд╣реИ? рдХреНрдпрд╛ рдкрд╛рд╕ рдореЗрдВ рдХреЛрдИ рдкрд╛рдиреА рд╣реИ? рдЬреИрд╡рд┐рдХ рдкреНрд░рдгрд╛рд▓рд┐рдпреЛрдВ рдХреЗ рд╡рд┐рдХрд╛рд╕ рдФрд░ рдкреНрд░рд╕рд╛рд░ рдХреЗ рдЕрдиреБрдХрд░рдг рдХреЗ рд▓рд┐рдП рдЗрди рдФрд░ рдЕрдиреНрдп рд╕рд╡рд╛рд▓реЛрдВ рдХреЗ рдЬрд╡рд╛рдм рджрд┐рдП рдЬрд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рд╕рд╛рде рд╣реА рдХреБрдЫ рд╣рдж рддрдХ, рдЬрд▓рд╡рд╛рдпреБ-рд╕рдВрдмрдВрдзрд┐рдд рдЕрдиреНрдп рдкреНрд░рдХрд╛рд░ рдХреА рдкреНрд░рдгрд╛рд▓рд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рднреАред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдпрд╣ рддрдХрдиреАрдХ рдореЙрдбрд▓рд┐рдВрдЧ рдХреЗ рдкрд╛рдиреА рдХреЗ рд▓рд┐рдП рдЙрдкрдпреБрдХреНрдд рдирд╣реАрдВ рд╣реИред рдЗрд╕ рдкреНрд░рдгрд╛рд▓реА рдореЗрдВ рджреНрд░рд╡ рдпрд╛рдВрддреНрд░рд┐рдХреА рдпрд╛ рдЧреБрд░реБрддреНрд╡рд╛рдХрд░реНрд╖рдг рдХреЗ рдЬреНрдЮрд╛рди рдХреА рдХреЛрдИ рдЕрд╡рдзрд╛рд░рдгрд╛ рдирд╣реАрдВ рд╣реИред рдкрд╛рдиреА рдПрдХ рдЬрдЯрд┐рд▓ рд╡рд┐рд╖рдп рд╣реИ рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рдХрдИ рдЬрдЯрд┐рд▓ рдЧрдгрдирд╛рдУрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред
рдЗрд╕рд▓рд┐рдП, рд╣рдо рд╕рд┐рд░реНрдл рдкреГрдереНрд╡реА рдФрд░ рдкрддреНрдерд░реЛрдВ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░ рд░рд╣реЗ рд╣реИрдВред рд╣рдореЗрдВ рдПрдХ рдлрд╝рдВрдХреНрд╢рди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдЬреЛ рдЖрдкрдХреЛ рдмрддрд╛рддрд╛ рд╣реИ рдХрд┐ рджрд┐рдП рдЧрдП рд╕реНрдерд╛рди рдХреНрдпрд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП: рдкреГрдереНрд╡реА, рд░реЗрдд, рд╡рд╛рдпреБ, рд╕реЛрдирд╛, рд▓реЛрд╣рд╛, рдХреЛрдпрд▓рд╛, рдЖрджрд┐ ... рд▓реЗрдХрд┐рди рд╣рдо рд╕рдмрд╕реЗ рд╕рд░рд▓ рд╕реЗ рд╢реБрд░реВ рдХрд░реЗрдВрдЧреЗред рд╣рдореЗрдВ рдПрдХ рдлрд╝рдВрдХреНрд╢рди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдЬреЛ рдмрддрд╛рдПрдЧрд╛ рдХрд┐ рдмреНрд▓реЙрдХ рдареЛрд╕ рдпрд╛ рдЦреЛрдЦрд▓рд╛ рд╣реИ (рд╣рд╡рд╛ рд╕реЗ рднрд░рд╛)ред рдпрд╣ рдХрд╛рд░реНрдп рд╣рдорд╛рд░реЗ рдЖрд╕-рдкрд╛рд╕ рдХреА рдкреГрдереНрд╡реА рдХрд╛ рдЕрдиреБрдХрд░рдг рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рдЕрд░реНрдерд╛рддреН рдЖрдХрд╛рд╢ рдКрдкрд░ рд╣реИ, рдкреГрдереНрд╡реА рдиреАрдЪреЗ рд╣реИред рддреЛ, рдЖрдЗрдП рдмрд╛рдЗрдмрд▓ рдХреЗ рдХрд╛рд░реНрдп рдХреЛ рдХрд░реЗрдВ, рдФрд░ рдЖрдХрд╛рд╢ рдХреЛ рдкреГрдереНрд╡реА рд╕реЗ рдЕрд▓рдЧ рдХрд░реЗрдВред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо
рдЧреНрд░реЗрдбрд┐рдПрдВрдЯ рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЕрдзреНрдпрдпрди рдХрд░рддреЗ рд╣реИрдВред рдЧреНрд░реЗрдбрд┐рдПрдВрдЯ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдПрди-рдбрд╛рдпрдореЗрдВрд╢рдирд▓ рд╕реНрдкреЗрд╕ рдореЗрдВ рдПрдХ рд▓рд╛рдЗрди рд╕реЗрдЧрдореЗрдВрдЯ (рдЬреИрд╕реЗ рдХрд┐ 2 рдбреА, 3 рдбреА рдпрд╛ рдЙрдЪреНрдЪрддрд░) рдХреЗ рдХрд┐рд╕реА рднреА рд╕рдордиреНрд╡рд┐рдд рд╕реНрдерд╛рди рдореЗрдВ рдкрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдпрд╣ рдЗрд╕ рд╕реЗрдЧрдореЗрдВрдЯ рдХреЗ рд╕рд╛рде рдврд╛рд▓ рдХреНрд╖реЗрддреНрд░ рдХреА рдЧрдгрдирд╛ рдХрд░рддрд╛ рд╣реИред рдЖрдиреЗ рд╡рд╛рд▓реЗ рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рдЗрд╕ рдЦрдВрдб рдкрд░ рдЕрдиреБрдорд╛рдирд┐рдд рд╣реИрдВ рдФрд░ рдЙрдирдХреЗ рдврд╛рд▓ рдореВрд▓реНрдп рдХреА рдЧрдгрдирд╛ рдЗрд╕ рдЖрдзрд╛рд░ рдкрд░ рдХреА рдЬрд╛рддреА рд╣реИ рдХрд┐ рд╡реЗ рдЦрдВрдб рдХреЗ рдЕрдВрддрд┐рдо рдмрд┐рдВрджреБрдУрдВ рдХреЗ рд╕рд╛рдкреЗрдХреНрд╖ рдХрд╣рд╛рдВ рд╣реИрдВред рдЕрдиреБрдорд╛рдирд┐рдд рдЕрдВрдХреЛрдВ рдХреЛ рдЕрдВрддрд░рд╛рд▓ (-1.1) рдореЗрдВ рдорд╛рди рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдФрд░ рдпрд╣ рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдПрдХ рдЕрдЪреНрдЫреА рд╢реБрд░реБрдЖрдд рд╣реЛрдЧреАред рд╣рдо Y рдЕрдХреНрд╖ рдХреЗ рд╕рд╛рде рдЧреНрд░реИрдбрд┐рдПрдВрдЯ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЕрдВрддрд░рд╛рд▓ рдХреЗ рд╢реАрд░реНрд╖ рдкрд░, рд╣рдо -1 (рд╣рд╡рд╛) рдХреЗ рд╕рд╛рде рдврд╛рд▓ рдХреНрд╖реЗрддреНрд░ рдХреА рддреБрд▓рдирд╛ рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ 1 (рдкреГрдереНрд╡реА) рдХреЗ рд╕рд╛рде рд╕рдмрд╕реЗ рдиреАрдЪреЗред
terraintree =
{
{name = "ground_gradient", рдЯрд╛рдЗрдк = "рдЧреНрд░реЗрдбрд┐рдПрдВрдЯ", X1 = реж, x2 = реж, y1 = реж, y2 = рез}
}
(рдореИрдВ рд░рд┐рдХреЙрд░реНрдб рдХреЛ рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ рд╕рдордЭрд╛рдКрдВрдЧрд╛ред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдХреЛрдб Lua рдШреЛрд╖рдгрд╛ рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИред рдкреНрд░рд╛рд░реВрдк рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд▓рд┐рдП,
Lua рдПрдХреАрдХрд░рдг рдкрд░ рдЕрдиреБрднрд╛рдЧ рджреЗрдЦреЗрдВред рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ, рдкреНрд░рд╛рд░реВрдк рдХреЛ рдПрдХ рд╡рд┐рд╢реЗрд╖ рд╡рд░реНрдЧ рджреНрд╡рд╛рд░рд╛ рдкрд╛рд░реНрд╕ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдЬреЛ рд╡рд┐рдЬреНрдЮрд╛рдкрди рдкрдврд╝рддрд╛ рд╣реИ рдФрд░ рдЙрдиреНрд╣реЗрдВ рд╢реЛрд░ рдореЙрдбреНрдпреВрд▓ рдЙрджрд╛рд╣рд░рдг рдкреЗрдбрд╝реЛрдВ рдореЗрдВ рдмрджрд▓ рджреЗрддрд╛ рд╣реИред рдореБрдЭреЗ рдпрд╣ рдкрд╕рдВрдж рд╣реИред рдкреНрд░рд╛рд░реВрдк рдЕрдзрд┐рдХ рд╡рд░реНрдмреЛрдЬрд╝ рдЪрд░рдг-рджрд░-рдЪрд░рдг C ++ рдкреНрд░рд╛рд░реВрдк рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдЕрдзрд┐рдХ рдХреЙрдореНрдкреИрдХреНрдЯ рдФрд░ рдХреНрд▓реАрдирд░ рд╣реИред рдореЗрд░реА рд░рд╛рдп рдореЗрдВ, рд╕реНрд░реЛрдд рдХреЛрдб C ++ рдХреЛрдб рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЕрдзрд┐рдХ рдкрдардиреАрдп рдФрд░ рд╕рдВрдХреБрдЪрд┐рдд рд╣реИред рдЕрдзрд┐рдХрд╛рдВрд╢ рднрд╛рдЧ рдХреЗ рд▓рд┐рдП, рдШреЛрд╖рдгрд╛рдУрдВ рдХреЛ рдкрдврд╝рдирд╛ рдФрд░ рд╕рдордЭрдирд╛ рдЖрд╕рд╛рди рд╣реИред рдореЙрдбреНрдпреВрд▓ рдореЗрдВ рдирд╛рдо рд╣реИрдВ, рд╕реНрд░реЛрдд рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд╣реИрдВред рдирд╛рдо рдпрд╛ рдореВрд▓реНрдпред рддрд╛рд▓рд┐рдХрд╛ рдШреЛрд╖рдгрд╛рдУрдВ рдХреЛ рдкрд╛рд░реНрд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдиреЗ рд╡рд╛рд▓рд╛ Lua рдХреЛрдб рд╕реНрд░реЛрдд рдХреЛрдб рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИ рдпрджрд┐ рдЖрдк рдЗрди рдШреЛрд╖рдгрд╛рдУрдВ рдХрд╛ рд╕реАрдзреЗ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред)
2 рдбреА рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдЧреНрд░реЗрдбрд┐рдПрдВрдЯ рдлрд╝рдВрдХреНрд╢рди рдлреЙрд░реНрдо (X1, x2, y1, y2) рдореЗрдВ рдПрдХ рд╕реАрдзреА рд░реЗрдЦрд╛ рдЦрдВрдб рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИ, рдФрд░ 3D рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдкреНрд░рд╛рд░реВрдк рдХреЛ (X1, x2, y1, y2, z1, z2) рддрдХ рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдмрд┐рдВрджреБ (X1, y1) рджреНрд╡рд╛рд░рд╛ рдЧрдард┐рдд рдмрд┐рдВрджреБ рдЦрдВрдб рдореИрдк рдХреА рд╢реБрд░реБрдЖрдд рдХреЛ 0. рджрд░реНрд╢рд╛рддрд╛ рд╣реИред рдЧрдард┐рдд рдмрд┐рдВрджреБ (x2, y2) рдЦрдВрдб рдХреЗ рдЕрдВрдд рдореЗрдВ рдореИрдк рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред 1. рдпрд╣ рд╣реИ, рдпрд╣рд╛рдБ рд╣рдо рд▓рд╛рдЗрди рдЦрдВрдб (0,1)> рдореИрдк рдХрд░рддреЗ рд╣реИрдВред 0,0) рдПрдХ рдврд╛рд▓ рдХреЗ рд╕рд╛рдеред рдЗрд╕рд▓рд┐рдП, рдврд╛рд▓ рд╡рд╛рдИ = 1 рдФрд░ рд╡рд╛рдИ = 0 рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдХреНрд╖реЗрддреНрд░реЛрдВ рдХреЗ рдмреАрдЪ рд╣реЛрдЧрд╛ред рдпрд╣реА рд╣реИ, рдпрд╣ рдкрдЯреНрдЯреА рд╡рд╛рдИ рдореЗрдВ рджреБрдирд┐рдпрд╛ рдХреЗ рдЖрдпрд╛рдо рдмрдирд╛рддреА рд╣реИред рджреБрдирд┐рдпрд╛ рдХрд╛ рдХреЛрдИ рднреА рд╣рд┐рд╕реНрд╕рд╛ рдЗрд╕ рдкрдЯреНрдЯреА рдореЗрдВ рд╣реЛрдЧрд╛ред рд╣рдо рдПрдХреНрд╕ рдХреЗ рд╕рд╛рде рдХрд┐рд╕реА рднреА рдХреНрд╖реЗрддреНрд░ рдХреЛ рд╕реНрдиреИрдк рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ (рд▓рдЧрднрдЧ рд╡рд┐рдЬреНрдЮрд╛рдкрди infinitum, рд▓реЗрдХрд┐рди рдпрд╣рд╛рдВ
double
рдкрд░рд┐рд╢реБрджреНрдзрддрд╛ рд╣рдореЗрдВ рд╕реАрдорд┐рдд рдХрд░рддреА рд╣реИ), рд▓реЗрдХрд┐рди рд╕рдм рдХреБрдЫ рджрд┐рд▓рдЪрд╕реНрдк рд╣реИ, рдЕрд░реНрдерд╛рдд рдкреГрдереНрд╡реА рдХреА рд╕рддрд╣ рдЗрд╕ рдмреИрдВрдб рдХреЗ рднреАрддрд░ рд╣реЛрдЧреАред рдЗрд╕ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рдмрджрд▓рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕рдХреЗ рднреАрддрд░ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдХрд╛рдлреА рд╣рдж рддрдХ рд▓рдЪреАрд▓рд╛рдкрди рд╣реИред рдмрд╕ рдпрд╣ рдордд рднреВрд▓реЛ рдХрд┐ рдЗрд╕ рдмреИрдВрдб рдХреЗ рдКрдкрд░ рдпрд╛ рдиреАрдЪреЗ рд╣реЛрдиреЗ рд╡рд╛рд▓реЗ рдХрд┐рд╕реА рднреА рдорд╛рди рдХреЗ рдирд┐рд░реНрдмрд╛рдз рд╣реЛрдиреЗ рдХреА рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдКрдкрд░ рджрд┐рдП рдЧрдП рдореВрд▓реНрдп рд╣рд╡рд╛ рд╣реЛрдиреЗ рдХреА рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ, рдФрд░ рдиреАрдЪреЗ рджрд┐рдП рдЧрдП рдореВрд▓реНрдп рдЬрдореАрди рд╣реИрдВред (рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рдЬрд▓реНрдж рд╣реА рджреЗрдЦреЗрдВрдЧреЗ, рдпрд╣ рдХрдерди рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдЧрд▓рдд рд╣реЛ рд╕рдХрддрд╛ рд╣реИред) рдЗрд╕ рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХреА рдЕрдзрд┐рдХрд╛рдВрд╢ рдЫрд╡рд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП, рдореИрдВ 2 рдбреА рд╕реНрдерд╛рди рдореЗрдВ рд╡рд░реНрдЧ (0,1) -> (1,0) рджреНрд╡рд╛рд░рд╛ рджрд┐рдП рдЧрдП рд╡рд░реНрдЧ рдХреНрд╖реЗрддреНрд░ рд╕реЗ рдореЗрд▓ рдЦрд╛рдКрдВрдЧрд╛ред рдЗрд╕рд▓рд┐рдП, рд╢реБрд░реБрдЖрдд рдореЗрдВ рд╣рдорд╛рд░реА рджреБрдирд┐рдпрд╛ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддреА рд╣реИ:

рдЕрдм рддрдХ рдХреБрдЫ рднреА рджрд┐рд▓рдЪрд╕реНрдк рдирд╣реАрдВ; рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдпрд╣ рдЫрд╡рд┐ рдЗрд╕ рд╕рд╡рд╛рд▓ рдХрд╛ рдЬрд╡рд╛рдм рдирд╣реАрдВ рджреЗрддреА рд╣реИ "рджрд┐рдпрд╛ рдЧрдпрд╛ рдмрд┐рдВрджреБ рдареЛрд╕ рдпрд╛ рдЦреЛрдЦрд▓рд╛ рд╣реИ?"ред рдЗрд╕ рдкреНрд░рд╢реНрди рдХрд╛ рдЙрддреНрддрд░ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдореЗрдВ
рд╕реНрдЯреЗрдк рдлрдВрдХреНрд╢рди (рдЯреБрдХрдбрд╝рд╛-рдкреНрд░рдХрд╛рд░ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдлрд╝рдВрдХреНрд╢рди) рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдПрдХ рд╕реБрдЧрдо рдврд╛рд▓ рдХреЗ рдмрдЬрд╛рдп, рд╣рдореЗрдВ рдПрдХ рд╕реНрдкрд╖реНрдЯ рдкреГрдердХреНрдХрд░рдг рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдПрдХ рддрд░рдл рдХреЗ рд╕рднреА рд╕реНрдерд╛рди рдЦреЛрдЦрд▓реЗ рд╣реЛрддреЗ рд╣реИрдВ, рдФрд░ рджреВрд╕рд░реА рддрд░рдл рдХреЗ рд╕рднреА рд╕реНрдерд╛рди рдареЛрд╕ рд╣реЛрддреЗ рд╣реИрдВред
ANL рдореЗрдВ, рдЗрд╕реЗ
Select рдлрдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рд╕реЗрд▓реЗрдХреНрдЯ рдлрд╝рдВрдХреНрд╢рди рджреЛ рдЖрд╡рдХ рдлрд╝рдВрдХреНрд╢рди рдпрд╛ рдорд╛рди рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИ (рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рд╡реЗ "рдареЛрд╕" рдФрд░ "рдЦреЛрдЦрд▓реЗ" (рдУрдкрди)) рдХреЗ рдмрд░рд╛рдмрд░ рд╣реЛрдВрдЧреЗ, рдФрд░ рдирд┐рдпрдВрддреНрд░рдг рдлрд╝рдВрдХреНрд╢рди (рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдЧреНрд░реЗрдбрд┐рдПрдВрдЯ) рдХреЗ рдореВрд▓реНрдп рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдЙрдирдХрд╛ рдЪрдпрди рдХрд░рддреЗ рд╣реИрдВред рд╕реЗрд▓реЗрдХреНрдЯ рдореЙрдбреНрдпреВрд▓ рдХреЗ рджреЛ рдЕрддрд┐рд░рд┐рдХреНрдд рдкреИрд░рд╛рдореАрдЯрд░,
рдереНрд░реЗрд╢реЛрд▓реНрдб рдФрд░
рдлреЙрд▓рдСрдл рд╣реИрдВ , рдЬреЛ рдЗрд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░рддреЗ рд╣реИрдВред рдЗрд╕ рд╕реНрддрд░ рдкрд░,
рдлреЙрд▓рдСрдл рдЕрд╡рд╛рдВрдЫрдиреАрдп рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╣рдо рдЗрд╕реЗ 0. рдХреЗ рдмрд░рд╛рдмрд░ рдХрд░ рджреЗрдВрдЧреЗред
рдереНрд░реЗрд╢реЛрд▓реНрдб рдкреИрд░рд╛рдореАрдЯрд░ рдпрд╣ рддрдп рдХрд░рддрд╛ рд╣реИ рдХрд┐ рд╕реЙрд▓рд┐рдб рдФрд░ рдУрдкрди рдХреЗ рдмреАрдЪ рдХреА рд╡рд┐рднрд╛рдЬрди рд░реЗрдЦрд╛ рдХрд╣рд╛рдВ рдЬрд╛рдПрдЧреАред рдЧреНрд░реЗрдбрд┐рдПрдВрдЯ рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ рдЗрд╕ рдорд╛рди рд╕реЗ рдЕрдзрд┐рдХ рдХреБрдЫ рднреА рдареЛрд╕ рдореЗрдВ рдмрджрд▓ рдЬрд╛рдПрдЧрд╛, рдФрд░ рджрд╣рд▓реАрдЬ рдХреЗ рдиреАрдЪреЗ рдХреБрдЫ рднреА рдУрдкрди рд╣реЛ рдЬрд╛рдПрдЧрд╛ред рдЪреВрдВрдХрд┐ рдЧреНрд░реИрдбрд┐рдПрдВрдЯ 0 рдФрд░ 1 рдХреЗ рдорд╛рдиреЛрдВ рдХреЗ рд╕рд╛рде рдЕрдВрддрд░рд╛рд▓ рдХреА рддреБрд▓рдирд╛ рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЗрд╕реЗ 0.5 рдкрд░ рдереНрд░реЗрд╢реЛрд▓реНрдб рд░рдЦрдирд╛ рддрд░реНрдХрд╕рдВрдЧрдд рд╣реЛрдЧрд╛ред рдЗрд╕рд▓рд┐рдП рд╣рдо рдЕрдВрддрд░рд┐рдХреНрд╖ рдХреЛ рдЖрдзреЗ рд╣рд┐рд╕реНрд╕реЗ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░рддреЗ рд╣реИрдВред рдорд╛рди 1 рдПрдХ рдареЛрд╕ рд╕реНрдерд╛рди рд╣реЛрдЧрд╛, рдФрд░ рдорд╛рди 0 рдЦреЛрдЦрд▓рд╛ рд╣реЛрдЧрд╛ред рдЕрд░реНрдерд╛рддреН, рд╣рдо рдкреГрдереНрд╡реА рд╡рд┐рдорд╛рди рдХреЗ рдХрд╛рд░реНрдп рдХреЛ рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддреЗ рд╣реИрдВ:
terraintree =
{
{name = "ground_gradient", рдЯрд╛рдЗрдк = "рдЧреНрд░реЗрдбрд┐рдПрдВрдЯ", X1 = реж, x2 = реж, y1 = реж, y2 = рез},
{name = "ground_select", рдкреНрд░рдХрд╛рд░ = "рдЪрдпрди", рдирд┐рдореНрди = реж, рдЙрдЪреНрдЪ = рез, рджрд╣рд▓реАрдЬ = реж.рел, рдирд┐рдпрдВрддреНрд░рдг = "ground_gradient"}
}
рдлрдВрдХреНрд╢рди рдХреЗ рдЙрд╕реА рдХреНрд╖реЗрддреНрд░ рдХреА рддреБрд▓рдирд╛ рдкрд╣рд▓реЗ рдХреА рддрд░рд╣ рдХрд░реЗрдВ, рд╣рдореЗрдВ рдХреБрдЫ рд╕рдорд╛рди рдорд┐рд▓рддрд╛ рд╣реИ:

рдпрд╣ рддрд╕реНрд╡реАрд░ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдЗрд╕ рд╕рд╡рд╛рд▓ рдХрд╛ рдЬрд╡рд╛рдм рджреЗрддреА рд╣реИ рдХрд┐ рджрд┐рдпрд╛ рдЧрдпрд╛ рдмрд┐рдВрджреБ рдареЛрд╕ рд╣реИ рдпрд╛ рдЦреЛрдЦрд▓рд╛ред рд╣рдо рдлрд╝рдВрдХреНрд╢рди рдХреЛ 2 рдбреА рд╕реНрдерд╛рди рдХреЗ рдХрд┐рд╕реА рднреА рд╕рдВрднрд╛рд╡рд┐рдд рд╕рдордиреНрд╡рдп рдХреЗ рд╕рд╛рде рдХреЙрд▓ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рдЗрд╕рдХрд╛ рдкрд░рд┐рдгрд╛рдо рдпрд╛ рддреЛ 1 рдпрд╛ 0 рд╣реЛрдЧрд╛, рдЬрд╣рд╛рдВ рдпрд╣ рдмрд┐рдВрджреБ рдкреГрдереНрд╡реА рдХреА рд╕рддрд╣ рдХреЗ рд╕рд╛рдкреЗрдХреНрд╖ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЗрд╕ рддрд░рд╣ рдХреЗ рдПрдХ рд╕рдорд╛рд░реЛрд╣ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рджрд┐рд▓рдЪрд╕реНрдк рдирд╣реАрдВ рд╣реИ, рдпрд╣ рд╕рд┐рд░реНрдл рдПрдХ рд╕рдкрд╛рдЯ рд░реЗрдЦрд╛ рд╣реИ рдЬреЛ рдЕрдирдВрдд рддрдХ рдлреИрд▓рд╛ рд╣реИред рддрд╕реНрд╡реАрд░ рдХреЛ рдкреБрдирд░реНрдЬреАрд╡рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо "рдЕрд╢рд╛рдВрддрд┐" рдирд╛рдордХ рдПрдХ рддрдХрдиреАрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред
"рдЯрд░реНрдмреБрд▓реЗрдВрд╕" рдПрдХ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдЖрдиреЗ рд╡рд╛рд▓реЗ рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рдореЗрдВ рдореВрд▓реНрдпреЛрдВ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреА рдЕрд╡рдзрд╛рд░рдгрд╛ рдХрд╛ рдПрдХ рдЬрдЯрд┐рд▓ рдкрджрдирд╛рдо рд╣реИред рдХрд▓реНрдкрдирд╛ рдХрд░реЗрдВ рдХрд┐ рд╣рдо рдкреГрдереНрд╡реА рдХреЗ рдЙрдкрд░реЛрдХреНрдд рдХрд╛рд░реНрдп рдХреЛ рд╕рдордиреНрд╡рдп (0,1) рдХреЗ рд╕рд╛рде рдХрд╣рддреЗ рд╣реИрдВред рдпрд╣ рдЧреНрд░рд╛рдЙрдВрдб рдкреНрд▓реЗрди рдХреЗ рдКрдкрд░ рд╣реЛрддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ Y = 1 рдореЗрдВ рдЧреНрд░реЗрдбрд┐рдПрдВрдЯ рдХрд╛ рдорд╛рди 0 рд╣реЛрддрд╛ рд╣реИ, рдЬреЛ рдереНрд░реЗрд╕рд╣реЛрд▓реНрдб = 0.5 рд╕реЗ рдХрдо рд╣реИред рдпрд╣реА рд╣реИ, рдЗрд╕ рдмрд┐рдВрджреБ рдХреА рдЧрдгрдирд╛ рдУрдкрди рдХреЗ рд░реВрдк рдореЗрдВ рдХреА рдЬрд╛рдПрдЧреАред рд▓реЗрдХрд┐рди рдХреНрдпрд╛ рд╣реЛрдЧрд╛ рдЕрдЧрд░, рдкреГрдереНрд╡реА рдХреЗ рдХрд╛рд░реНрдп рдХреЛ рд╢реБрд░реВ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рд╣рдо рдХрд┐рд╕реА рддрд░рд╣ рдЗрд╕ рдмрд┐рдВрджреБ рдХреЛ рдмрджрд▓ рджреЗрдВ? рдорд╛рди рд▓реАрдЬрд┐рдП рдХрд┐ рд╣рдо Y рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рд╕реЗ рдПрдХ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рдореВрд▓реНрдп рдШрдЯрд╛рддреЗ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, 3. рд╣рдо 3 рдШрдЯрд╛рддреЗ рд╣реИрдВ рдФрд░ рд╕рдордиреНрд╡рдп рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВ (0, -2)ред рдпрджрд┐ рд╣рдо рдЕрдм рдЗрд╕ рдмрд┐рдВрджреБ рдХреЗ рд▓рд┐рдП рдЬрдореАрди рдлрд╝рдВрдХреНрд╢рди рдХрд╣рддреЗ рд╣реИрдВ, рддреЛ рдмрд┐рдВрджреБ рдХреЛ рдареЛрд╕ рдорд╛рдирд╛ рдЬрд╛рдПрдЧрд╛, рдХреНрдпреЛрдВрдХрд┐ Y = -2 рдЧреНрд░реЗрдбрд┐рдПрдВрдЯ рд╕реЗрдЧрдореЗрдВрдЯ рдХреЗ рдиреАрдЪреЗ 1 рдХреЗ рдмрд░рд╛рдмрд░ рд╣реИред рдЕрдЪрд╛рдирдХ, рдЦреЛрдЦрд▓рд╛ рдмрд┐рдВрджреБ (0,1) рдПрдХ рдареЛрд╕ рдореЗрдВ рдмрджрд▓ рдЬрд╛рддрд╛ рд╣реИред рд╣рдореЗрдВ рд╣рд╡рд╛ рдореЗрдВ рд▓рдЯрдХреЗ рд╣реБрдП рдареЛрд╕ рдкрддреНрдерд░ рдХрд╛ рдПрдХ рдмреНрд▓реЙрдХ рдорд┐рд▓реЗрдЧрд╛ред рдпрд╣ рдЧреНрд░рд╛рдЙрдВрдб_рд╕реЗрд▓реЗрдХреНрдЯ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдЖрдиреЗ рд╡рд╛рд▓реЗ рдмрд┐рдВрджреБ рдХреЗ рд╡рд╛рдИ рд╕рдордиреНрд╡рдп рд╕реЗ рдПрдХ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рд╕рдВрдЦреНрдпрд╛ рдХреЛ рдЬреЛрдбрд╝рдХрд░ рдпрд╛ рдШрдЯрд╛рдХрд░ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдХрд┐рд╕реА рднреА рдмрд┐рдВрджреБ рдХреЗ рд╕рд╛рде рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдпрд╣рд╛рдВ рдЧреНрд░рд╛рдЙрдВрдб_рд╕реЗрд▓реЗрдХреНрдЯ рдлрдВрдХреНрд╢рди рдХреА рдПрдХ рдЫрд╡рд┐ рдпрд╣ рджрд┐рдЦрд╛ рд░рд╣реА рд╣реИред рдЧреНрд░рд╛рдЙрдВрдб_рд╕реЗрд▓реЗрдХреНрдЯ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рдкреНрд░рддреНрдпреЗрдХ рдмрд┐рдВрджреБ рдХреЗ рд╡рд╛рдИ рд╕рдордиреНрд╡рдп рдореЗрдВ рдЕрдВрддрд░рд╛рд▓ (-0.25, 0.25) рдореЗрдВ рдореВрд▓реНрдп рдЬреЛрдбрд╝рд╛ рдЬрд╛рддрд╛ рд╣реИред

рдпрд╣ рдПрдХ рд╕рдкрд╛рдЯ рд░реЗрдЦрд╛ рд╕реЗ рдЕрдзрд┐рдХ рджрд┐рд▓рдЪрд╕реНрдк рд╣реИ, рд▓реЗрдХрд┐рди рдкреГрдереНрд╡реА рдХреЗ рд╕рдорд╛рди рдирд╣реАрдВ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдкреНрд░рддреНрдпреЗрдХ рдмрд┐рдВрджреБ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рдореВрд▓реНрдп рдкрд░ рдЪрд▓рддрд╛ рд╣реИ, рдЬреЛ рдПрдХ рдЕрд░рд╛рдЬрдХрддрд╛ рдкреИрдЯрд░реНрди рдмрдирд╛рддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдпрджрд┐ рд╣рдо рдПрдХ рд╕рддрдд рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП,
рдПрдПрдирдПрд▓ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рд╕реЗ
рдлреНрд░реИрдХреНрдЯрд▓ , рддреЛ рдПрдХ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рдкреИрдЯрд░реНрди рдХреЗ рдмрдЬрд╛рдп рд╣рдореЗрдВ рдХреБрдЫ рдЕрдзрд┐рдХ рдирд┐рдпрдВрддреНрд░рдгреАрдп рдорд┐рд▓рддрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП, рдПрдХ рднрдЧреНрди рдХреЛ рдкреГрдереНрд╡реА рдХреЗ рд╡рд┐рдорд╛рди рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░реЗрдВ рдФрд░ рджреЗрдЦреЗрдВ рдХрд┐ рдХреНрдпрд╛ рд╣реЛрддрд╛ рд╣реИред
terraintree =
{
{name = "ground_gradient", рдЯрд╛рдЗрдк = "рдЧреНрд░реЗрдбрд┐рдПрдВрдЯ", X1 = реж, x2 = реж, y1 = реж, y2 = рез},
{name = "ground_shape_fractal", рдЯрд╛рдЗрдк = "рдлреНрд░реИрдХреНрдЯрд▓", рдлреНрд░реИрдХреНрдЯрд╛рд▓рд╛рдЗрдк = anl.FBM, рдмреЗрд╕рд┐рд╕реНрдЯрд╛рдЗрдк = anl.GRADIENT, рдЗрдВрдЯрд░рдкреНрдЯрд╛рдЗрдк = anl.QUINTIC, рдЕрд╖реНрдЯрдХ: рем, рдЖрд╡реГрддреНрддрд┐ = реи},
{name = "ground_scale", рдЯрд╛рдЗрдк = "рд╕реНрдХреЗрд▓рдСрдлрд╝рд╕реЗрдЯ", рд╕реНрдХреЗрд▓ = 0.5, рдСрдлрд╕реЗрдЯ = 0, рд╕реНрд░реЛрдд = "ground_shape_fractal"},
{name = "ground_perturb", рдЯрд╛рдЗрдк = "рдЕрдиреВрджрд┐рдд", рд╕реНрд░реЛрдд = "рдЧреНрд░рд╛рдЙрдВрдб_рдЧреНрд░реЗрдбрд┐рдПрдВрдЯ", ty = "ground_scale"}
{name = "ground_select", рдкреНрд░рдХрд╛рд░ = "рдЪрдпрди", рдирд┐рдореНрди = реж, рдЙрдЪреНрдЪ = рез, рджрд╣рд▓реАрдЬ = реж.рел, рдирд┐рдпрдВрддреНрд░рдг = "ground_perturb"}
}
рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рдХреБрдЫ рдкрд╣рд▓реВ рд╣реИрдВред рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рд╣рдо рдлреНрд░реИрдХреНрдЯрд▓ рдореЙрдбреНрдпреВрд▓ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рдЗрд╕реЗ
рд╕реНрдХреЗрд▓рдСрдлрд╝рд╕реЗрдЯ рдореЙрдбреНрдпреВрд▓ рдХреЛ рдЪреЗрди рдХрд░рддреЗ рд╣реИрдВред ScaleOffset рдореЙрдбреНрдпреВрд▓ рдЕрдзрд┐рдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╕реНрддрд░ рддрдХ рдЖрдЙрдЯрдкреБрдЯ рднрдЧреНрди рдорд╛рдиреЛрдВ рдХреЛ рдорд╛рдкрддрд╛ рд╣реИред рд░рд╛рд╣рдд рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рдкрд╣рд╛рдбрд╝реА рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдЗрд╕рдХреЗ рд▓рд┐рдП рдмрдбрд╝реЗ рдкреИрдорд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдФрд░ рдПрдХ рдФрд░ рд╣рд┐рд╕реНрд╕рд╛ - рдЪрд╛рдкрд▓реВрд╕реА рдФрд░ рдПрдХ рдЫреЛрдЯреЗ рдкреИрдорд╛рдиреЗ рдкрд░ред рд╣рдо рдмрд╛рдж рдореЗрдВ рд╡рд┐рднрд┐рдиреНрди рдкреНрд░рдХрд╛рд░ рдХреЗ рдЗрд▓рд╛рдХреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░реЗрдВрдЧреЗ, рд▓реЗрдХрд┐рди рдЕрдм рд╣рдо рдЙрдиреНрд╣реЗрдВ рдкреНрд░рджрд░реНрд╢рди рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗред рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЖрдЙрдЯрдкреБрдЯ рдорд╛рди рдЕрдм рдирд┐рдореНрди рдЪрд┐рддреНрд░ рджреЗрдЧрд╛:

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

рдКрдкрд░ рдХреА рдЫрд╡рд┐ рдореЗрдВ, рд╕рднреА рдХрд╛рд▓реЗ рдмрд┐рдВрджреБрдУрдВ рдХрд╛ рдорд╛рди -0.25 рд╣реИ, рдФрд░ рд╕рднреА рд╕рдлреЗрдж рдмрд┐рдВрджреБрдУрдВ рдХрд╛ рдорд╛рди 0.25 рд╣реИред рдпрд╣реА рд╣реИ, рдЬрд╣рд╛рдВ рднрдЧреНрди рдХрд╛рд▓рд╛ рд╣реИ, рдкреГрдереНрд╡реА рдХреЗ рдХрд╛рд░реНрдп рдХреЗ рд╕рдВрдмрдВрдзрд┐рдд рдмрд┐рдВрджреБ рдХреЛ 0.25 рд╕реЗ "рдиреАрдЪреЗ" рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред (рд╕реНрдХреНрд░реАрди рдХрд╛ 0.25 рдХрд╛ рдЕрд░реНрде 1/4 рд╣реИред) рдЪреВрдВрдХрд┐ рдПрдХ рдмрд┐рдВрджреБ рдХреЛ рдереЛрдбрд╝рд╛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рдЕрдВрддрд░рд┐рдХреНрд╖ рдореЗрдВ рдЗрд╕рдХреЗ рдКрдкрд░ рдХреЗ рджреВрд╕рд░реЗ рдмрд┐рдВрджреБ рдХреЛ рдЕрдзрд┐рдХ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЪрдЯреНрдЯрд╛рдиреЛрдВ рдФрд░ рдЙрдбрд╝рд╛рди рджреНрд╡реАрдкреЛрдВ рдХреЗ рдлреИрд▓рд╛рд╡ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИред рдЙрдбрд╝рд╛рди рджреНрд╡реАрдкреЛрдВ рдХреЗ рд╡рд┐рдкрд░реАрдд, рдкреНрд░рдХреГрддрд┐ рдореЗрдВ рдлреИрд▓рд╛рд╡ рдХрд╛рдлреА рд╕реНрд╡рд╛рднрд╛рд╡рд┐рдХ рд╣реИред (рдЬрдм рддрдХ рд╣рдо рдлрд┐рд▓реНрдо "рдЕрд╡рддрд╛рд░" рдореЗрдВ рдирд╣реАрдВ рд╣реИрдВ) рдпрджрд┐ рдЖрдкрдХреЗ рдЧреЗрдо рдХреЛ рдЗрд╕ рддрд░рд╣ рдХреЗ рд╢рд╛рдирджрд╛рд░ рдкрд░рд┐рджреГрд╢реНрдп рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ рдпрд╣ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрджрд┐ рдЖрдкрдХреЛ рдЕрдзрд┐рдХ рдпрдерд╛рд░реНрдерд╡рд╛рджреА рдореЙрдбрд▓ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ рд╣рдореЗрдВ рдлреНрд░реИрдХреНрдЯрд▓ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдереЛрдбрд╝рд╛ рд╕рдорд╛рдпреЛрдЬрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рд╕реМрднрд╛рдЧреНрдп рд╕реЗ,
рд╕реНрдХреЗрд▓рдбреЛрдореЗрди рдлрд╝рдВрдХреНрд╢рди рдРрд╕рд╛ рдХрд░ рд╕рдХрддрд╛ рд╣реИред
рд╣рдо рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдПрдХ рдКрдВрдЪрд╛рдИ рдорд╛рдирдЪрд┐рддреНрд░ рдлрд╝рдВрдХреНрд╢рди рдХреА рддрд░рд╣ рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред рдПрдХ 2 рдбреА рдКрдВрдЪрд╛рдИ рдХреЗ рдирдХреНрд╢реЗ рдХреА рдХрд▓реНрдкрдирд╛ рдХрд░реЗрдВ рдЬрд╣рд╛рдВ рдорд╛рдирдЪрд┐рддреНрд░ рдкрд░ рдкреНрд░рддреНрдпреЗрдХ рдмрд┐рдВрджреБ рдЧреНрд░рд┐рдб рдмрд┐рдВрджреБрдУрдВ рдХреА рдЧреНрд░рд┐рдб рдореЗрдВ рдПрдХ рдмрд┐рдВрджреБ рдХреА рдКрдВрдЪрд╛рдИ рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рддрд╛ рд╣реИ рдЬреЛ рдКрдкрд░ рдпрд╛ рдиреАрдЪреЗ рдЙрдард╛рдП рдЬрд╛рддреЗ рд╣реИрдВред рдирдХреНрд╢реЗ рдХреЗ рд╕рдлреЗрдж рдореВрд▓реНрдп рдЙрдЪреНрдЪ рдкрд╣рд╛рдбрд╝рд┐рдпреЛрдВ, рдХрд╛рд▓реА - рдирд┐рдореНрди рдШрд╛рдЯрд┐рдпреЛрдВ рдХреЛ рджрд░реНрд╢рд╛рддреЗ рд╣реИрдВред рд╣рдореЗрдВ рд╕рдорд╛рди рд╡реНрдпрд╡рд╣рд╛рд░ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдореЗрдВ рдЕрдирд┐рд╡рд╛рд░реНрдп рд░реВрдк рд╕реЗ рдПрдХ рдЖрдпрд╛рдо рд╕реЗ рдЫреБрдЯрдХрд╛рд░рд╛ рдкрд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдКрдВрдЪрд╛рдИ рдХреЗ рдирдХреНрд╢реЗ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╣рдо 2 рдбреА рдКрдВрдЪрд╛рдИ рдХреЗ рдирдХреНрд╢реЗ рд╕реЗ 3 рдбреА рдКрдВрдЪрд╛рдИ рдмрдирд╛рддреЗ рд╣реИрдВред рдЗрд╕реА рддрд░рд╣, 2 рдбреА рдЗрд▓рд╛рдХреЗ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╣рдореЗрдВ 1 рдбреА рдКрдВрдЪрд╛рдИ рдХреЗ рдирдХреНрд╢реЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдРрд╕рд╛ рдХрд░рдиреЗ рд╕реЗ рдХрд┐ рдПрдХ рд╣реА Y рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рд╡рд╛рд▓реЗ рдПрдХ рднрдЧреНрди рдХреЗ рд╕рднреА рдмрд┐рдВрджреБрдУрдВ рдХрд╛ рд╕рдорд╛рди рдореВрд▓реНрдп рд╣реЛрддрд╛ рд╣реИ, рд╣рдо рд╕рднреА рдмрд┐рдВрджреБрдУрдВ рдХреЛ рдПрдХ рд╣реА X рдХреЗ рд╕рд╛рде рдПрдХ рд╣реА рд░рд╛рд╢рд┐ рджреНрд╡рд╛рд░рд╛ рд╕рдордиреНрд╡рдпрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдЙрдбрд╝рд╛рди рджреНрд╡реАрдк рдЧрд╛рдпрдм рд╣реЛ рдЬрд╛рддреЗ рд╣реИрдВред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдк рд╕реНрдХреЗрд▓ рдЧреБрдгрд╛рдВрдХ рдХреЛ рд░реАрд╕реЗрдЯ рдХрд░рддреЗ рд╣реБрдП рд╕реНрдХреЗрд▓рдбреЛрдореИрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╣реА рд╣реИ, рдЧреНрд░рд╛рдЙрдВрдб_рд╢реИрдк_рдлреНрд░реИрдХреНрдЯрд▓ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рд╣рдо y рдХреЛ рд╕рдордиреНрд╡рдпрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЧреНрд░рд╛рдЙрдВрдб_рдХрд╛рд▓реЗ_рдпрдВрддреНрд░ рдХреЛ 0. рдкрд░ рдХреЙрд▓ рдХрд░рддреЗ рд╣реИрдВред рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рд╡рд╛рдИ рдореВрд▓реНрдп рдлреНрд░реИрдХреНрдЯрд▓ рдХреЗ рдЖрдЙрдЯрдкреБрдЯ рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рдЕрдирд┐рд╡рд╛рд░реНрдп рд░реВрдк рд╕реЗ рдЗрд╕реЗ 1 рдбреА рд╢реЛрд░ рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ рдмрджрд▓ рджреЗрддрд╛ рд╣реИред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдмрджрд▓рд╛рд╡ рдХрд░реЗрдВрдЧреЗ:
terraintree =
{
{name = "ground_gradient", рдЯрд╛рдЗрдк = "рдЧреНрд░реЗрдбрд┐рдПрдВрдЯ", X1 = реж, x2 = реж, y1 = реж, y2 = рез},
{name = "ground_shape_fractal", рдЯрд╛рдЗрдк = "рдлреНрд░реИрдХреНрдЯрд▓", рдлреНрд░реИрдХреНрдЯрд╛рд▓рд╛рдЗрдк = anl.FBM, рдмреЗрд╕рд┐рд╕реНрдЯрд╛рдЗрдк = anl.GRADIENT, рдЗрдВрдЯрд░рдкреНрдЯрд╛рдЗрдк = anl.QUINTIC, рдЕрд╖реНрдЯрдХ: рем, рдЖрд╡реГрддреНрддрд┐ = реи},
{name = "ground_scale", рдЯрд╛рдЗрдк = "рд╕реНрдХреЗрд▓рдСрдлрд╝рд╕реЗрдЯ", рд╕реНрдХреЗрд▓ = 0.5, рдСрдлрд╕реЗрдЯ = 0, рд╕реНрд░реЛрдд = "ground_shape_fractal"},
{name = "ground_scale_y", рдЯрд╛рдЗрдк = "рд╕реНрдХреЗрд▓рдбреЛрдореИрди", рд╕реНрд░реЛрдд = "рдЧреНрд░рд╛рдЙрдВрдб_рдХреИрд╕рд▓", рд╕реНрдХреЗрд▓ = 0},
{name = "ground_perturb", рдкреНрд░рдХрд╛рд░ = "рдЕрдиреБрд╡рд╛рджрд┐рдд", рд╕реНрд░реЛрдд = "рдЧреНрд░рд╛рдЙрдВрдб_рдЧреНрд░реЗрдбрд┐рдПрдВрдЯ", ty = "ground_scale_y"},
{name = "ground_select", рдкреНрд░рдХрд╛рд░ = "рдЪрдпрди", рдирд┐рдореНрди = реж, рдЙрдЪреНрдЪ = рез, рджрд╣рд▓реАрдЬ = реж.рел, рдирд┐рдпрдВрддреНрд░рдг = "ground_perturb"}
}
рд╣рдо рдЧреНрд░рд╛рдЙрдВрдб_рд╕реНрдХреЗрд▓ рдХреЗ рд╕рд╛рде рд╕реНрдХреЗрд▓рдбреЛрдореИрди рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдЪреЗрди рдХрд░реЗрдВрдЧреЗ, рдФрд░ рдлрд┐рд░ рд╕реНрдХреЗрд▓рдбреЛрдореИрди рдлрд╝рдВрдХреНрд╢рди рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рдореВрд▓ рдЧреНрд░рд╛рдЙрдВрдб_рдкрд░рдЯрд░реНрдм рдбреЗрдЯрд╛ рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░реЗрдВрдЧреЗред рдпрд╣ рдкреГрдереНрд╡реА рдХреЛ рд╡рд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рднрдЧреНрди рдХреЛ рдмрджрд▓ рджреЗрдЧрд╛ рдФрд░ рдЗрд╕реЗ рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рд╕реЗ рдмрджрд▓ рджреЗрдЧрд╛:
рдЕрдм рдпрджрд┐ рд╣рдо рдЖрдЙрдЯрдкреБрдЯ рдкрд░ рдПрдХ рдирдЬрд╝рд░ рдбрд╛рд▓рддреЗ рд╣реИрдВ, рддреЛ рд╣рдореЗрдВ рдЗрд╕рдХрд╛ рдкрд░рд┐рдгрд╛рдо рдорд┐рд▓рддрд╛ рд╣реИ:
рдмрд╣реБрдд рдмреЗрд╣рддрд░ред рдЙрдбрд╝рд╛рди рджреНрд╡реАрдк рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЧрд╛рдпрдм рд╣реЛ рдЧрдП рд╣реИрдВ, рдФрд░ рд░рд╛рд╣рдд рдкрд╣рд╛рдбрд╝реЛрдВ рдФрд░ рдкрд╣рд╛рдбрд╝рд┐рдпреЛрдВ рдХреА рддрд░рд╣ рдЕрдзрд┐рдХ рд╣реИред рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рд╣рдордиреЗ рдкреНрд░реЛрдЯреНрд░реЗрд╢рдиреНрд╕ рдФрд░ рдЪрдЯреНрдЯрд╛рдиреЛрдВ рдХреЛ рдЦреЛ рджрд┐рдпрд╛ред рдЕрдм рдкреВрд░реА рдкреГрдереНрд╡реА рдирд┐рд░рдВрддрд░ рдФрд░ рдврд▓рд╛рди рдкрд░ рд╣реИред рдпрджрд┐ рдЖрдк рдЪрд╛рд╣реЗрдВ, рддреЛ рдЖрдк рдЗрд╕реЗ рдХрдИ рддрд░реАрдХреЛрдВ рд╕реЗ рдареАрдХ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдЖрдк рдПрдХ рдФрд░
рдЯреНрд░рд╛рдВрд╕рдбреЛрдореЗрди рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рджреВрд╕рд░реЗ
рдлреНрд░реИрдХреНрдЯрд▓ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд╕рд╛рде рдорд┐рд▓рдХрд░ред рдпрджрд┐ рд╣рдо рдПрдХреНрд╕ рджрд┐рд╢рд╛ рдореЗрдВ рдереЛрдбрд╝реА рдорд╛рддреНрд░рд╛ рдореЗрдВ рднрдЧреНрди рдЕрд╢рд╛рдВрддрд┐ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╣рдо рдкрд╣рд╛рдбрд╝реЛрдВ рдХреЗ рдХрд┐рдирд╛рд░реЛрдВ рдФрд░ рд╕рддрд╣реЛрдВ рдХреЛ рдереЛрдбрд╝рд╛ рд╡рд┐рдХреГрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рдпрд╣ рд╕рдВрднрд╡рддрдГ рдЕрд╡рдХреНрд╖реЗрдк рдФрд░ рдЕрдЧреБрд╡реЛрдВ рдХреЛ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реЛрдЧрд╛ред рдЖрдЗрдП рдЗрд╕реЗ рдХрд╛рд░реНрд░рд╡рд╛рдИ рдореЗрдВ рджреЗрдЦреЗрдВред
terraintree =
{
{name = "ground_gradient", рдЯрд╛рдЗрдк = "рдЧреНрд░реЗрдбрд┐рдПрдВрдЯ", X1 = реж, x2 = реж, y1 = реж, y2 = рез},
{name = "ground_shape_fractal", рдЯрд╛рдЗрдк = "рдлреНрд░реИрдХреНрдЯрд▓", рдлреНрд░реИрдХреНрдЯрд╛рд▓рд╛рдЗрдк = anl.FBM, рдмреЗрд╕рд┐рд╕реНрдЯрд╛рдЗрдк = anl.GRADIENT, рдЗрдВрдЯрд░рдкреНрдЯрд╛рдЗрдк = anl.QUINTIC, рдЕрд╖реНрдЯрдХ: рем, рдЖрд╡реГрддреНрддрд┐ = реи},
{name = "ground_scale", рдЯрд╛рдЗрдк = "рд╕реНрдХреЗрд▓рдСрдлрд╝рд╕реЗрдЯ", рд╕реНрдХреЗрд▓ = 0.5, рдСрдлрд╕реЗрдЯ = 0, рд╕реНрд░реЛрдд = "ground_shape_fractal"},
{name = "ground_scale_y", рдЯрд╛рдЗрдк = "рд╕реНрдХреЗрд▓рдбреЛрдореИрди", рд╕реНрд░реЛрдд = "рдЧреНрд░рд╛рдЙрдВрдб_рдХреИрд╕рд▓", рд╕реНрдХреЗрд▓ = 0},
{name = "ground_perturb", рдкреНрд░рдХрд╛рд░ = "рдЕрдиреБрд╡рд╛рджрд┐рдд", рд╕реНрд░реЛрдд = "рдЧреНрд░рд╛рдЙрдВрдб_рдЧреНрд░реЗрдбрд┐рдПрдВрдЯ", ty = "ground_scale_y"},
{name = "ground_overhang_fractal", рдЯрд╛рдЗрдк = "рдлреНрд░реИрдХреНрдЯрд▓", рдлреНрд░реИрдХреНрдЯрд▓рд╛рдЗрдк = anl.FBM, рдмреЗрд╕рд┐рд╕реНрдЯрд╛рдЗрдк = anl.GRADIENT, рдЗрдВрдЯрд░рдкреНрдЯрд╛рдЗрдк = anl.QUINTIC, рдЕрд╖реНрдЯрдХ: рем, рдЖрд╡реГрддреНрддрд┐ = реи},
{name = "ground_overhang_scale", рдкреНрд░рдХрд╛рд░ = "рд╕реНрдХреЗрд▓рдСрдлрд╝рд╕реЗрдЯ", рд╕реНрд░реЛрдд = "ground_overhang_fractal", рд╕реНрдХреЗрд▓ = 0.2, рдСрдлрд╕реЗрдЯ = 0},
{name = "ground_overhang_perturb", рдкреНрд░рдХрд╛рд░ = "рдЕрдиреБрд╡рд╛рджрд┐рдд", рд╕реНрд░реЛрдд = "ground_perturb", tx = "ground_overhang_scale"}
{name = "ground_select", рдкреНрд░рдХрд╛рд░ = "рдЪрдпрди", рдирд┐рдореНрди = реж, рдЙрдЪреНрдЪ = рез, рджрд╣рд▓реАрдЬ = реж.рел, рдирд┐рдпрдВрддреНрд░рдг = "ground_overhang_perturb"}
}
рдФрд░ рдпрд╣рд╛рдБ рдкрд░рд┐рдгрд╛рдо рд╣реИ:
рджреВрд╕рд░рд╛ рддрд░реАрдХрд╛: рдЖрдк
рдЧреНрд░рд╛рдЙрдВрдб_рдХреЗрд▓реЗ_рдп рдлрд╝рдВрдХреНрд╢рди рдХреЗ
рд╕реНрдХреЗрд▓ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЛ 0. рд╕реЗ рдЕрдзрд┐рдХ рдорд╛рди рдкрд░ рд╕реЗрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдпрджрд┐ рдЖрдк рд╡рд╛рдИ рдореЗрдВ рдПрдХ рдЫреЛрдЯрд╛ рд╕реНрдХреЗрд▓ рдЫреЛрдбрд╝рддреЗ рд╣реИрдВ, рддреЛ рд╣рдо рдкрд░рд┐рд╡рд░реНрддрдирд╢реАрд▓рддрд╛ рдХрд╛ рдПрдХ рдЕрдВрд╢ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВрдЧреЗ, рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЬрд┐рддрдирд╛ рдмрдбрд╝рд╛ рд╕реНрдХреЗрд▓ рд╣реЛрдЧрд╛, рд░рд╛рд╣рдд рд╕реНрдХреЗрд▓рд┐рдВрдЧ рдХреЗ рдмрд┐рдирд╛ рдкрд┐рдЫрд▓реЗ рд╕рдВрд╕реНрдХрд░рдг рд╕реЗ рдЕрдзрд┐рдХ рдордЬрдмреВрдд рд╣реЛрдЧреАред

рдкрд░рд┐рдгрд╛рдо рд╕рд╛рдорд╛рдиреНрдп рдврд▓рд╛рди рд╡рд╛рд▓реЗ рдкрд╣рд╛рдбрд╝реЛрдВ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдмрд╣реБрдд рдЕрдзрд┐рдХ рджрд┐рд▓рдЪрд╕реНрдк рд▓рдЧрддреЗ рд╣реИрдВред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдХреЛрдИ рдлрд░реНрдХ рдирд╣реАрдВ рдкрдбрд╝рддрд╛ рдХрд┐ рд╡реЗ рдХрд┐рддрдиреЗ рджрд┐рд▓рдЪрд╕реНрдк рд╣реИрдВ, рдЦрд┐рд▓рд╛рдбрд╝реА рдЕрднреА рднреА рдПрдХ рд╣реА рдкреИрдЯрд░реНрди рдХреЗ рд╕рд╛рде рд░рд╛рд╣рдд рддрд▓рд╛рд╢рдиреЗ рд╕реЗ рдКрдм рдЬрд╛рдПрдЧрд╛, рдХрдИ рдХрд┐рд▓реЛрдореАрдЯрд░ рддрдХ рдЦреАрдВрдЪред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЗрд╕ рддрд░рд╣ рдХреА рд░рд╛рд╣рдд рдмрд╣реБрдд рдЕрд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╣реЛрдЧреАред рд╡рд╛рд╕реНрддрд╡рд┐рдХ рджреБрдирд┐рдпрд╛ рдореЗрдВ, рдкрд░рд┐рд╡рд░реНрддрдирд╢реАрд▓рддрд╛ рдХрд╛ рдПрдХ рдмрд╣реБрдд рдХреБрдЫ рд╣реИ рдЬреЛ рдЗрд▓рд╛рдХреЗ рдХреЛ рдЕрдзрд┐рдХ рджрд┐рд▓рдЪрд╕реНрдк рдмрдирд╛рддрд╛ рд╣реИред рдЖрдЗрдП рджреЗрдЦреЗрдВ рдХрд┐ рджреБрдирд┐рдпрд╛ рдХреЛ рдЕрдзрд┐рдХ рд╡рд┐рд╡рд┐рдз рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХреНрдпрд╛ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рдкрд┐рдЫрд▓реЗ рдХреЛрдб рдЙрджрд╛рд╣рд░рдг рдХреЛ рджреЗрдЦрддреЗ рд╣реБрдП, рдЖрдк рдЗрд╕рдореЗрдВ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкреИрдЯрд░реНрди рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВред рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рдврд╛рд▓ рдХрд╛рд░реНрдп рд╣реИ, рдЬреЛ рдЙрди рдХрд╛рд░реНрдпреЛрдВ рджреНрд╡рд╛рд░рд╛ рдирд┐рдпрдВрддреНрд░рд┐рдд рд╣реЛрддрд╛ рд╣реИ рдЬреЛ рдкреГрдереНрд╡реА рдХреЛ рдПрдХ рдЖрдХрд╛рд░ рджреЗрддреЗ рд╣реИрдВ, рдЬрд┐рд╕рдХреЗ рдмрд╛рдж рдПрдХ рдЯреБрдХрдбрд╝реЗ-рдЯреБрдХрдбрд╝реЗ рдореЗрдВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд╛рд░реНрдп рд▓рд╛рдЧреВ рд╣реЛрддрд╛ рд╣реИ рдФрд░ рдкреГрдереНрд╡реА рдкреВрд░реНрдг рд╣реЛ рдЬрд╛рддреА рд╣реИред рдпрд╣реА рд╣реИ, рдкреГрдереНрд╡реА рдХреЛ рдЖрдХрд╛рд░ рджреЗрдиреЗ рдХреЗ рд╕реНрддрд░ рдкрд░ рд░рд╛рд╣рдд рдХреЛ рдЬрдЯрд┐рд▓ рдХрд░рдирд╛ рдЕрдзрд┐рдХ рддрд░реНрдХрд╕рдВрдЧрдд рд╣реЛрдЧрд╛ред Y рдХреЗ рд╕рд╛рде рдПрдХ рднрдЧреНрди рд╡рд┐рд╕реНрдерд╛рдкрди рдФрд░ X рдХреЗ рд╕рд╛рде рдПрдХ рдФрд░ рд╡рд┐рд╕реНрдерд╛рдкрд┐рдд рд╣реЛрдиреЗ рдХреЗ рдмрдЬрд╛рдп, рд╣рдо рдЬрдЯрд┐рд▓рддрд╛ рдХреА рдЖрд╡рд╢реНрдпрдХ рдбрд┐рдЧреНрд░реА (рдЦрд╛рддреЗ рдХреЗ рдкреНрд░рджрд░реНрд╢рди рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрддреЗ рд╣реБрдП) рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ: рдкреНрд░рддреНрдпреЗрдХ рднрдЧреНрди рдХреЛ рдЕрддрд┐рд░рд┐рдХреНрдд рдХрдореНрдкреНрдпреВрдЯреЗрд╢рдирд▓ рд▓рд╛рдЧрддреЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╣рдореЗрдВ рд░реВрдврд╝рд┐рд╡рд╛рджреА рд╣реЛрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рдиреА рдЪрд╛рд╣рд┐рдПред) рд╣рдо рдкреГрдереНрд╡реА рдХреЗ рд░реВрдкреЛрдВ рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЬреЛ рдкрд╣рд╛рдбрд╝, рддрд▓рд╣рдЯреА рд╣реИрдВред , рдлреНрд▓реИрдЯ рддрд░рд╛рдИ, рдмрдВрдЬрд░ рднреВрдорд┐, рдЖрджрд┐ ... рдФрд░ рдкреНрд░рддреНрдпреЗрдХ рдкреНрд░рдХрд╛рд░ рдХреЗ рдХреНрд╖реЗрддреНрд░реЛрдВ рдХреЛ рд░реЗрдЦрд╛рдВрдХрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрдо рдЖрд╡реГрддреНрддрд┐ рднрдЧреНрди рдХреЗ рд╕рд╛рде рдЬрдВрдЬреАрд░ рдХреЗ рд╡рд┐рднрд┐рдиреНрди
рдЪрдпрди рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рдЙрддреНрдкрд╛рджрди рдХрд╛ рдЙрдкрдпреЛрдЧ
рдХрд░реЗрдВ ред рддреЛ рдЖрдЗрдП рджреЗрдЦреЗрдВ рдХрд┐ рдЖрдк рд╡рд┐рднрд┐рдиреНрди рдкреНрд░рдХрд╛рд░ рдХреЗ рдЗрд▓рд╛рдХреЛрдВ рдХреЛ рдХреИрд╕реЗ рд▓рд╛рдЧреВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рд╕рд┐рджреНрдзрд╛рдВрдд рдХреЛ рд╕реНрдкрд╖реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо рддреАрди рдкреНрд░рдХрд╛рд░ рдХреА рд░рд╛рд╣рдд рдореЗрдВ рдЕрдВрддрд░ рдХрд░рддреЗ рд╣реИрдВ: рдкрдард╛рд░ (рдЪрд┐рдХрдиреА рдврд▓рд╛рди рд╡рд╛рд▓реА рдкрд╣рд╛рдбрд╝рд┐рдпрд╛рдБ), рдкрд╣рд╛рдбрд╝ рдФрд░ рддрд░рд╛рдИ (рдЬреНрдпрд╛рджрд╛рддрд░ рд╕рдкрд╛рдЯ)ред рдЙрдирдХреЗ рдмреАрдЪ рд╕реНрд╡рд┐рдЪ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо рдПрдХ рдЪрдпрди-рдЖрдзрд╛рд░рд┐рдд рдкреНрд░рдгрд╛рд▓реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдПрдХ рдЬрдЯрд┐рд▓ рдХреИрдирд╡рд╛рд╕ рдореЗрдВ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВред рддреЛ рдпрд╣рд╛рдБ рд╣рдо рдЪрд▓рддреЗ рд╣реИрдВ ...
рддрд▓рд╣рдЯреА:рдЙрдирдХреЗ рд╕рд╛рде, рд╕рдм рдХреБрдЫ рд╕рд░рд▓ рд╣реИред рд╣рдо рдКрдкрд░ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХреА рдЧрдИ рдпреЛрдЬрдирд╛ рдХреЛ рд▓реЗ рд╕рдХрддреЗ рд╣реИрдВ, рдкрд╣рд╛рдбрд╝рд┐рдпреЛрдВ рдХреЗ рдЖрдпрд╛рдо рдХреЛ рдереЛрдбрд╝рд╛ рдХрдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд╢рд╛рдпрдж рдЙрдиреНрд╣реЗрдВ рдПрдбрд┐рдЯрд┐рд╡ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЕрдзрд┐рдХ рдШрдЯрд╛рдХрд░ рднреА рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВред рдФрд╕рдд рдКрдВрдЪрд╛рдЗрдпреЛрдВ рдХреЛ рдХрдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред рд╣рдо рдЙрдиреНрд╣реЗрдВ рдЪрд┐рдХрдирд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдкреНрддрдХ рдЧрд┐рдирддреА рдХреЛ рднреА рдХрдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
{name = "lowland_shape_fractal", рдЯрд╛рдЗрдк = "рдлреНрд░реИрдХреНрдЯрд▓", рдлреНрд░реИрдХреНрдЯрд╛рд▓рд╛рдЗрдк = anl.FBM, рдмреЗрд╕рд┐рд╕реНрдЯрд╛рдЗрдк = anl.GRADIENT, рдЗрдВрдЯрд░рдкреНрдЯрд╛рдЗрдк = anl.QUINTIC, рдСрдХреНрдЯреЗрд╡рд╕: реи, рдЖрд╡реГрддреНрддрд┐ = рез},
{name = "lowland_autocorrect", type = "autocorrect", source = "lowland_shape_fractal", low = 0, high = 1},
{name = "lowland_scale", рдЯрд╛рдЗрдк = "рд╕реНрдХреЗрд▓рдСрдлрд╝рд╕реЗрдЯ", рд╕реНрд░реЛрдд = "lowland_autocorrect", рд╕реНрдХреЗрд▓ = 0.2, рдСрдлрд╕реЗрдЯ = -0.25}, рдЖрджрд┐
{name = "lowland_y_scale", рдкреНрд░рдХрд╛рд░ = "рд╕реНрдХреЗрд▓рдбреЛрдиреИрди", рд╕реНрд░реЛрдд = "рддрд░рд╛рдИ_рдХрд╛рд▓реЗ", рдкреИрдорд╛рдиреЗ = 0},
{name = "lowland_terrain", рдкреНрд░рдХрд╛рд░ = "рдЕрдиреБрд╡рд╛рджрд┐рдд", рд╕реНрд░реЛрдд = "рдЧреНрд░рд╛рдЙрдВрдб_рдЧреНрд░реЗрдбрд┐рдПрдВрдЯ", ty = "lowland_y_scale"},
рдкрдард╛рд░:рдЙрдирдХреЗ рд╕рд╛рде, рднреА, рд╕рдм рдХреБрдЫ рд╕рд░рд▓ рд╣реИред (рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдЗрди рдЗрд▓рд╛рдХреЛрдВ рдореЗрдВ рд╕реЗ рдХреЛрдИ рднреА рдкреНрд░рдХрд╛рд░ рдореБрд╢реНрдХрд┐рд▓ рдирд╣реАрдВ рд╣реИред) рд╣рд╛рд▓рд╛рдВрдХрд┐, рд╣рдо рдкрд╣рд╛рдбрд╝рд┐рдпреЛрдВ рдХреЛ рдЯреАрд▓реЛрдВ рдХреА рддрд░рд╣ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрд▓рдЧ рдЖрдзрд╛рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред
{name = "highland_shape_fractal", рдЯрд╛рдЗрдк = "рдлреНрд░реИрдХреНрдЯрд▓", рдлреНрд░реИрдХреНрдЯрд╛рд▓рд╛рдЗрдк = anl.RIDGEDMULTI, рдмреЗрд╕рд┐рд╕реНрдЯрд╛рдЗрдк = anl.GRADIENT, рдЗрдВрдЯрд░рдкреНрдЯрд╛рдЗрдк = anl.QUADIC, рдЕрд╖реНрдЯрдХ = реи, рдЖрд╡реГрддреНрддрд┐ = реи}ред
{name = "highland_autocorrect", type = "autocorrect", source = "highland_shape_fractal", low = 0, high = 1},
{name = "highland_scale", рдкреНрд░рдХрд╛рд░ = "рд╕реНрдХреЗрд▓рдСрдлрд╝рд╕реЗрдЯ", рд╕реНрд░реЛрдд = "highland_autocorrect", рд╕реНрдХреЗрд▓ = реж.рекрел, рдСрдлрд╕реЗрдЯ = реж},
{name = "highland_y_scale", рдЯрд╛рдЗрдк = "рд╕реНрдХреЗрд▓рдбрдиреИрди", рд╕реНрд░реЛрдд = "рд╣рд╛рдИрд▓реИрдВрдб_рдХреИрд╕рд▓", рд╕реНрдХреЗрд▓ = реж},
{name = "highland_terrain", рдкреНрд░рдХрд╛рд░ = "рдЕрдиреБрд╡рд╛рджрд┐рдд", рд╕реНрд░реЛрдд = "рдЧреНрд░рд╛рдЙрдВрдб_рдЧреНрд░реЗрдбрд┐рдПрдВрдЯ", ty = "рд╣рд╛рдИрд▓реИрдВрдб_y_scale"},
рдкрд╣рд╛рдбрд╝: {name = "Mountain_shape_fractal", рдЯрд╛рдЗрдк = "рдлреНрд░реИрдХреНрдЯрд▓", рдлреНрд░реИрдХреНрдЯрд▓рд╛рдЗрдк = anl.BILLOW, рдмреЗрд╕рд┐рд╕реНрдЯрд╛рдЗрдк = anl.GRADIENT, рдЗрдВрдЯрд░рдкреНрдЯрд╛рдЗрдк = anl.QUINTIC, рдЕрд╖реНрдЯрдХ = рек, рдЖрд╡реГрддреНрддрд┐ = рез},
{name = "Mountain_autocorrect", type = "autocorrect", source = "Mountain_shape_fractal", low = 0, high = 1},
{name = "Mountain_scale", рдЯрд╛рдЗрдк = "рд╕реНрдХреЗрд▓рдСрдлрд╝рд╕реЗрдЯ", рд╕реЛрд░реНрд╕ = "рдорд╛рдЙрдВрдЯреЗрди_рдСрдЯреЛрдХреЛрд░реЗрдЯ", рд╕реНрдХреЗрд▓ = реж. ,рел, рдСрдлрд╕реЗрдЯ = реж.реирел},
{name = "Mountain_y_scale", рдЯрд╛рдЗрдк = "рд╕реНрдХреЗрд▓рдбрдиреИрди", рд╕реЛрд░реНрд╕ = "рдорд╛рдЙрдВрдЯреЗрди_рдХреИрд╕рд▓", рд╕реНрдХреЗрд▓ = 0.1},
{name = "Mountain_terrain", рдкреНрд░рдХрд╛рд░ = "рдЕрдиреБрд╡рд╛рджрд┐рдд", рд╕реНрд░реЛрдд = "рдЧреНрд░рд╛рдЙрдВрдб_рдЧреНрд░реЗрдбрд┐рдПрдВрдЯ", ty = "рдкрд░реНрд╡рдд_y_scale"},
рдмреЗрд╢рдХ, рдЖрдк рдЗрд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рдФрд░ рднреА рд░рдЪрдирд╛рддреНрдордХ рддрд░реАрдХреЗ рд╕реЗ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░ рдкреИрдЯрд░реНрди рдРрд╕рд╛ рд╣реА рд╣реЛрдЧрд╛ред рд╣рдо рд░рд╛рд╣рдд рдкреНрд░рдХрд╛рд░ рдХреА рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЛ рдЙрдЬрд╛рдЧрд░ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЙрдирдХреЗ рд▓рд┐рдП рд╢реЛрд░ рдХрд╛рд░реНрдпреЛрдВ рдХрд╛ рдЪрдпрди рдХрд░рддреЗ рд╣реИрдВред рдЗрд╕ рд╕рдм рдХреЗ рд▓рд┐рдП, рдПрдХ рд╣реА рд╕рд┐рджреНрдзрд╛рдВрдд рд▓рд╛рдЧреВ рд╣реЛрддреЗ рд╣реИрдВ; рдореБрдЦреНрдп рдЕрдВрддрд░ рдкреИрдорд╛рдиреЗ рд╣реИрдВред рдЕрдм, рдЙрдиреНрд╣реЗрдВ рдПрдХ рд╕рд╛рде рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо рдЕрддрд┐рд░рд┐рдХреНрдд рднрдЧреНрди рддреИрдпрд╛рд░ рдХрд░реЗрдВрдЧреЗ рдЬреЛ
рдЪрдпрди рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░реЗрдВрдЧреЗред рдлрд┐рд░ рд╣рдо рдкреВрд░реЗ рдЗрд▓рд╛рдХреЗ рдХреЛ рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдореЙрдбреНрдпреВрд▓ рдХрд╛ рдЪрдпрди рдХрд░рддреЗ рд╣реИрдВред
{name = "terrain_type_fractal", рдкреНрд░рдХрд╛рд░ = "рднрдЧреНрди", fractaltype = anl.FBM, basistype = anl.GRADIENT, рдЗрдВрдЯрд░рдкреНрдЯрд╛рдЗрдк = anl.QUINTIC, рдУрдХреНрдЯреЗрд╡реЗрд╕: рей, рдЖрд╡реГрддреНрддрд┐ = реж.рел},
{name = "terrain_autocorrect", type = "autocorrect", source = "terrain_type_fractal", low = 0, high = 1},
{name = "terrain_type_cache", рдЯрд╛рдЗрдк рдХрд░реЗрдВ = "cache", рд╕реНрд░реЛрдд = "terrain_autocorrovo", "
{name = "рд╣рд╛рдЗрд▓реИрдВрдб_рдорд╛рдЙрдВрдЯ_рд╕реЗрд▓реЗрдХреНрдЯ", рдЯрд╛рдЗрдк = "рд╕рд┐рд▓реЗрдХреНрдЯ", рд▓реЛ = "рд╣рд╛рдЗрд▓реИрдВрдб_рдЯреНрд░реЗрди", рд╣рд╛рдИ = "рдорд╛рдЙрдВрдЯреЗрди_рдЯреНрд░реЗрди", рдХрдВрдЯреНрд░реЛрд▓ = "рдЯреЗрд░реАрди_рдЯрд╛рдЗрдк_рдХреИрд╢реЗ", рдереНрд░реЗрд╢реЛрд▓реНрдб = реж.релрел, рдлреЙрд▓рдСрдл = реж.резрел},
{name = "highland_lowland_select", type = "select", low = "lowland_terrain", high = "highland_mountain_select", control = "terrain_type_cache", рдереНрд░реЗрд╢реЛрд▓реНрдб = реж.реирел, рдлреЙрд▓рдСрдл = реж.резрел},
рддреЛ, рдпрд╣рд╛рдБ рд╣рдо рддреАрди рдореБрдЦреНрдп рдкреНрд░рдХрд╛рд░ рдХреЗ рдЗрд▓рд╛рдХреЛрдВ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддреЗ рд╣реИрдВ: рддрд░рд╛рдИ, рдЙрдЪреНрдЪрднреВрдорд┐ рдФрд░ рдкрд╣рд╛рдбрд╝ред рд╣рдо рдЙрдирдореЗрдВ рд╕реЗ рдПрдХ рдХрд╛ рдЪрдпрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рднрдЧреНрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рддрд╛рдХрд┐ рдкреНрд░рд╛рдХреГрддрд┐рдХ рд╕рдВрдХреНрд░рдордг (рддрд░рд╛рдИ-> рд╣рд╛рдЗрд▓реИрдВрдбреНрд╕-> рдкрд╣рд╛рдбрд╝) рд╣реЛред рдлрд┐рд░ рд╣рдо рдорд╛рдирдЪрд┐рддреНрд░ рдореЗрдВ рдмреИрдбрд▓реИрдВрдб рдХреЛ рдмреЗрддрд░рддреАрдм рдврдВрдЧ рд╕реЗ рд╕рдореНрдорд┐рд▓рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдФрд░ рднрдЧреНрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред рдпрд╣рд╛рдВ рдмрддрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ рдХрд┐ рд╕рдорд╛рдкреНрдд рдореЙрдбреНрдпреВрд▓ рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХреНрдпрд╛ рджрд┐рдЦрддреА рд╣реИ:
terraintree =
{
{name = "lowland_shape_fractal", рдЯрд╛рдЗрдк = "рдлреНрд░реИрдХреНрдЯрд▓", рдлреНрд░реИрдХреНрдЯрд╛рд▓рд╛рдЗрдк = anl.FBM, рдмреЗрд╕рд┐рд╕реНрдЯрд╛рдЗрдк = anl.GRADIENT, рдЗрдВрдЯрд░рдкреНрдЯрд╛рдЗрдк = anl.QUINTIC, рдСрдХреНрдЯреЗрд╡рд╕: реи, рдЖрд╡реГрддреНрддрд┐ = рез},
{name = "lowland_autocorrect", type = "autocorrect", source = "lowland_shape_fractal", low = 0, high = 1},
{name = "lowland_scale", рдЯрд╛рдЗрдк = "рд╕реНрдХреЗрд▓рдСрдлрд╝рд╕реЗрдЯ", рд╕реНрд░реЛрдд = "lowland_autocorrect", рд╕реНрдХреЗрд▓ = 0.2, рдСрдлрд╕реЗрдЯ = -0.25}, рдЖрджрд┐
{name = "lowland_y_scale", рдкреНрд░рдХрд╛рд░ = "рд╕реНрдХреЗрд▓рдбреЛрдиреИрди", рд╕реНрд░реЛрдд = "рддрд░рд╛рдИ_рдХрд╛рд▓реЗ", рдкреИрдорд╛рдиреЗ = 0},
{name = "lowland_terrain", рдкреНрд░рдХрд╛рд░ = "рдЕрдиреБрд╡рд╛рджрд┐рдд", рд╕реНрд░реЛрдд = "рдЧреНрд░рд╛рдЙрдВрдб_рдЧреНрд░реЗрдбрд┐рдПрдВрдЯ", ty = "lowland_y_scale"},
{name = "ground_gradient", рдЯрд╛рдЗрдк = "рдЧреНрд░реЗрдбрд┐рдПрдВрдЯ", X1 = реж, x2 = реж, y1 = реж, y2 = рез},
{name = "highland_shape_fractal", рдЯрд╛рдЗрдк = "рдлреНрд░реИрдХреНрдЯрд▓", рдлреНрд░реИрдХреНрдЯрд╛рд▓рд╛рдЗрдк = anl.RIDGEDMULTI, рдмреЗрд╕рд┐рд╕реНрдЯрд╛рдЗрдк = anl.GRADIENT, рдЗрдВрдЯрд░рдкреНрдЯрд╛рдЗрдк = anl.QUADIC, рдЕрд╖реНрдЯрдХ = реи, рдЖрд╡реГрддреНрддрд┐ = реи}ред
{name = "highland_autocorrect", type = "autocorrect", source = "highland_shape_fractal", low = 0, high = 1},
{name = "highland_scale", рдкреНрд░рдХрд╛рд░ = "рд╕реНрдХреЗрд▓рдСрдлрд╝рд╕реЗрдЯ", рд╕реНрд░реЛрдд = "highland_autocorrect", рд╕реНрдХреЗрд▓ = реж.рекрел, рдСрдлрд╕реЗрдЯ = реж},
{name = "highland_y_scale", рдЯрд╛рдЗрдк = "рд╕реНрдХреЗрд▓рдбрдиреИрди", рд╕реНрд░реЛрдд = "рд╣рд╛рдИрд▓реИрдВрдб_рдХреИрд╕рд▓", рд╕реНрдХреЗрд▓ = реж},
{name = "highland_terrain", рдкреНрд░рдХрд╛рд░ = "рдЕрдиреБрд╡рд╛рджрд┐рдд", рд╕реНрд░реЛрдд = "рдЧреНрд░рд╛рдЙрдВрдб_рдЧреНрд░реЗрдбрд┐рдПрдВрдЯ", ty = "рд╣рд╛рдИрд▓реИрдВрдб_y_scale"},
{name = "Mountain_shape_fractal", рдЯрд╛рдЗрдк = "рдлреНрд░реИрдХреНрдЯрд▓", рдлреНрд░реИрдХреНрдЯрд▓рд╛рдЗрдк = anl.BILLOW, рдмреЗрд╕рд┐рд╕реНрдЯрд╛рдЗрдк = anl.GRADIENT, рдЗрдВрдЯрд░рдкреНрдЯрд╛рдЗрдк = anl.QUINTIC, рдЕрд╖реНрдЯрдХ = рек, рдЖрд╡реГрддреНрддрд┐ = рез},
{name = "Mountain_autocorrect", type = "autocorrect", source = "Mountain_shape_fractal", low = 0, high = 1},
{name = "Mountain_scale", рдЯрд╛рдЗрдк = "рд╕реНрдХреЗрд▓рдСрдлрд╝рд╕реЗрдЯ", рд╕реЛрд░реНрд╕ = "рдорд╛рдЙрдВрдЯреЗрди_рдСрдЯреЛрдХреЛрд░реЗрдЯ", рд╕реНрдХреЗрд▓ = реж. ,рел, рдСрдлрд╕реЗрдЯ = реж.реирел},
{name = "Mountain_y_scale", рдЯрд╛рдЗрдк = "рд╕реНрдХреЗрд▓рдбрдиреИрди", рд╕реЛрд░реНрд╕ = "рдорд╛рдЙрдВрдЯреЗрди_рдХреИрд╕рд▓", рд╕реНрдХреЗрд▓ = 0.1},
{name = "Mountain_terrain", рдкреНрд░рдХрд╛рд░ = "рдЕрдиреБрд╡рд╛рджрд┐рдд", рд╕реНрд░реЛрдд = "рдЧреНрд░рд╛рдЙрдВрдб_рдЧреНрд░реЗрдбрд┐рдПрдВрдЯ", ty = "рдкрд░реНрд╡рдд_y_scale"},
{name = "terrain_type_fractal", рдкреНрд░рдХрд╛рд░ = "рднрдЧреНрди", fractaltype = anl.FBM, basistype = anl.GRADIENT, рдЗрдВрдЯрд░рдкреНрдЯрд╛рдЗрдк = anl.QUINTIC, рдУрдХреНрдЯреЗрд╡реЗрд╕: рей, рдЖрд╡реГрддреНрддрд┐ = реж.рел},
{name = "terrain_autocorrect", type = "autocorrect", source = "terrain_type_fractal", low = 0, high = 1},
{name = "terrain_type_cache", рдЯрд╛рдЗрдк рдХрд░реЗрдВ = "cache", рд╕реНрд░реЛрдд = "terrain_autocorrovo", "
{name = "highland_mountain_select", рдЯрд╛рдЗрдк = "select", low = "highland_terrain", рдЙрдЪреНрдЪ = "Mountain_terrain", рдирд┐рдпрдВрддреНрд░рдг = "terrain_type_cache", рдереНрд░реЗрд╢реЛрд▓реНрдб = реж.релрел, рдлреЙрд▓рдСрдл = реж.резрел},
{name = "highland_lowland_select", type = "select", low = "lowland_terrain", high = "highland_mountain_select", control = "terrain_type_cache", рдереНрд░реЗрд╢реЛрд▓реНрдб = реж.реирел, рдлреЙрд▓рдСрдл = реж.резрел},
{name = "ground_select", рдкреНрд░рдХрд╛рд░ = "рдЪрдпрди", рдирд┐рдореНрди = реж, рдЙрдЪреНрдЪ = рез, рджрд╣рд▓реАрдЬ = реж.рел, рдирд┐рдпрдВрддреНрд░рдг = "highland_lowland_select"}
}
рдкрд░рд┐рдгрд╛рдореА рд░рд╛рд╣рдд рдХреЗ рдХреБрдЫ рдЙрджрд╛рд╣рд░рдг рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реИрдВ:
рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдПрдХ рдЙрдЪреНрдЪ рдкрд░рд┐рд╡рд░реНрддрдирд╢реАрд▓рддрд╛ рдкреНрд░рд╛рдкреНрдд рдХреА рд╣реИред рдХреБрдЫ рд╕реНрдерд╛рдиреЛрдВ рдкрд░, рдЯреВрдЯреЗ рд╣реБрдП рдкрд╣рд╛рдбрд╝ рджрд┐рдЦрд╛рдИ рджреЗрддреЗ рд╣реИрдВ, рджреВрд╕рд░реЛрдВ рдореЗрдВ рдЪрд┐рдХрдиреА рдврд▓рд╛рди рд╡рд╛рд▓реЗ рдореИрджрд╛рди рд╣реЛрддреЗ рд╣реИрдВред рдЕрдм рд╣рдореЗрдВ рдЧреБрдлрд╛рдУрдВ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рддрд╛рдХрд┐ рд╣рдо рдЕрдВрдбрд░рд╡рд░реНрд▓реНрдб рдХреЗ рдЪрдорддреНрдХрд╛рд░реЛрдВ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛ рд╕рдХреЗрдВред
рдЧреБрдлрд╛рдУрдВ рдХреЗ рд▓рд┐рдП, рдореИрдВ
ground_select рдкрд░ рд▓рд╛рдЧреВ рдЧреБрдгрдХ рдкреНрд░рдгрд╛рд▓реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛
рд╣реВрдВ ред рдпрд╣реА рд╣реИ, рдореИрдВ рдПрдХ рдлрд╝рдВрдХреНрд╢рди рдмрдирд╛рддрд╛ рд╣реВрдВ рдЬреЛ 1 рдпрд╛ 0 рдЖрдЙрдЯрдкреБрдЯ рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдЙрдиреНрд╣реЗрдВ
ground_select рдХреЗ рдЖрдЙрдЯрдкреБрдЯ рд╕реЗ рдЧреБрдгрд╛ рдХрд░рддрд╛ рд╣реИред рдЗрд╕рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдХреЛрдИ рднреА рдмрд┐рдВрджреБ рдЦреЛрдЦрд▓рд╛ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рдЧреБрдлрд╛рдУрдВ рдХреЗ рдХрд╛рд░реНрдп рдХрд╛ рдорд╛рди 0. рд╣реИред рдЬрд╣рд╛рдВ рдореИрдВ рдЧреБрдлрд╛ рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ, рдЧреБрдлрд╛рдУрдВ рдХрд╛ рдХрд╛рд░реНрдп 0 рдкрд░ рд▓реМрдЯрдирд╛ рдЪрд╛рд╣рд┐рдП, рдФрд░ рдЬрд╣рд╛рдВ рдЧреБрдлрд╛ рдирд╣реАрдВ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдП, рдлрд╝рдВрдХреНрд╢рди 1. рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдЖрдХрд╛рд░ рдХреЗ рд▓рд┐рдП рдЧреБрдлрд╛рдПрдВ, рдореИрдВ 1-рдСрдХреНрдЯреЗрд╡
рд░рд┐рдЬреНрдб рдорд▓реНрдЯреАрдлреНрд░реЗрдХреНрдЯрд▓ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рдПрдХ рдЧреБрдлрд╛ рдкреНрд░рдгрд╛рд▓реА рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛
рд╣реВрдВ ред
{name = "cave_shape", рдЯрд╛рдЗрдк = "рдлреНрд░реИрдХреНрдЯрд▓", рдлреНрд░реИрдХреНрдЯрд╛рд▓рд╛рдЗрдк = anl.RIDGEDMULTI, рдмреЗрд╕рд┐рд╕реНрдЯрд╛рдЗрдк = anl.GRADIENT, рдЗрдВрдЯрд░рдкреНрдЯрд╛рдЗрдк = anl.QUINTIC, рдСрдХреНрдЯрд╛рдХреЛрд░ = рез, рдЖрд╡реГрддреНрддрд┐ = реи},
рдкрд░рд┐рдгрд╛рдо рдХреБрдЫ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реИ:
рдпрджрд┐ рд╣рдо
рдЪрдпрди рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдПрдХ рдЯреБрдХрдбрд╝рд╛-рдкрд░рд┐рднрд╛рд╖рд┐рдд-рдкрд░рд┐рднрд╛рд╖рд┐рдд рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд░реВрдк рдореЗрдВ рд▓рд╛рдЧреВ рдХрд░рддреЗ рд╣реИрдВ, рдЬреИрд╕рд╛ рдХрд┐ рд╣рдордиреЗ рдкреГрдереНрд╡реА рдврд╛рд▓ рдХреЗ рд╕рд╛рде рдХрд┐рдпрд╛ рдерд╛, рддреЛ рдЗрд╕реЗ рд▓рд╛рдЧреВ рдХрд░рдирд╛ рддрд╛рдХрд┐ рдЪрдпрди рд╕реАрдорд╛ рдХрд╛ рдирд┐рдЪрд▓рд╛ рднрд╛рдЧ 1 (рдХреЛрдИ рдЧреБрдлрд╛ рдирд╣реАрдВ рд╣реИ), рдФрд░ рдКрдкрд░реА рднрд╛рдЧ 0 рд╣реИ (рдПрдХ рдЧреБрдлрд╛ рд╣реИ, рдкрд░рд┐рдгрд╛рдо рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦреЗрдЧрд╛ред :
{name = "cave_shape", рдЯрд╛рдЗрдк = "рдлреНрд░реИрдХреНрдЯрд▓", рдлреНрд░реИрдХреНрдЯрд╛рд▓рд╛рдЗрдк = anl.RIDGEDMULTI, рдмреЗрд╕рд┐рд╕реНрдЯрд╛рдЗрдк = anl.GRADIENT, рдЗрдВрдЯрд░рдкреНрдЯрд╛рдЗрдк = anl.QUINTIC, рдСрдХреНрдЯрд╛рдХреЛрд░ = рез, рдЖрд╡реГрддреНрддрд┐ = реи},
{name = "cave_select", type = "select", low = 1, high = 0, control = "cave_shape", рдереНрд░реЗрд╢реЛрд▓реНрдб = реж.ave, рдлреЙрд▓реЙрдлрд╝ = реж}ред
рдкрд░рд┐рдгрд╛рдо:
рдмреЗрд╢рдХ, рдпрд╣ рдмрд╣реБрдд рдЪрд┐рдХрдиреА рд▓рдЧ рд░рд╣рд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдХреНрд╖реЗрддреНрд░ рдХреЛ рд╡рд┐рдХреГрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рднрдЧреНрди рд╢реЛрд░ рдЬреЛрдбрд╝реЗрдВред
{name = "cave_shape", рдЯрд╛рдЗрдк = "рдлреНрд░реИрдХреНрдЯрд▓", рдлреНрд░реИрдХреНрдЯрд╛рд▓рд╛рдЗрдк = anl.RIDGEDMULTI, рдмреЗрд╕рд┐рд╕реНрдЯрд╛рдЗрдк = anl.GRADIENT, рдЗрдВрдЯрд░рдкреНрдЯрд╛рдЗрдк = anl.QUINTIC, рдСрдХреНрдЯрд╛рдХреЛрд░ = рез, рдЖрд╡реГрддреНрддрд┐ = реи},
{name = "cave_select", type = "select", low = 1, high = 0, control = "cave_shape", рдереНрд░реЗрд╢реЛрд▓реНрдб = реж.ave, рдлреЙрд▓реЙрдлрд╝ = реж}ред
{name = "cave_perturb_fractal", рдЯрд╛рдЗрдк = "рдлреНрд░реИрдХреНрдЯрд▓", рдлреНрд░реИрдХреНрдЯрд▓рд╛рдЗрдк = anl.FBM, рдмреЗрд╕рд┐рд╕реНрдЯрд╛рдЗрдк = anl.GRADIENT, рдЗрдВрдЯрд░рдкреНрдЯрд╛рдЗрдк = anl.QUINTIC, рдСрдХреНрдЯрд╛ = рем, рдЖрд╡реГрддреНрддрд┐ = рей},
{name = "cave_perturb_scale", type = "scaleoffset", source = "cave_perturb_fractal", рд╕реНрдХреЗрд▓ = 0.25, рдСрдлрд╕реЗрдЯ = 0},
{name = "cave_perturb", рдЯрд╛рдЗрдк = "рдЕрдиреВрджрд┐рдд", рд╕реНрд░реЛрдд = "cave_select", tx = "cave_perturb_scale"},
рдкрд░рд┐рдгрд╛рдо:рдпрд╣ рдЧреБрдлрд╛рдУрдВ рдХреЛ рдереЛрдбрд╝рд╛ рд╢реЛрд░ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдЗрддрдирд╛ рдЪрд┐рдХрдирд╛ рдирд╣реАрдВ рдмрдирд╛рддрд╛ рд╣реИред рдЖрдЗрдП рдЕрдм рджреЗрдЦреЗрдВ рдХрд┐ рдпрджрд┐ рдЖрдк рдЧреБрдлрд╛рдУрдВ рдХреЛ рд░рд╛рд╣рдд рдХреЗ рд▓рд┐рдП рд▓рд╛рдЧреВ рдХрд░рддреЗ рд╣реИрдВ рддреЛ рдХреНрдпрд╛ рд╣реЛрддрд╛ рд╣реИ:Cave_select рдореЗрдВ рдереНрд░реЗрд╢реЛрд▓реНрдб рдорд╛рди рдХреЗ рд╕рд╛рде рдкреНрд░рдпреЛрдЧ рдХрд░рдХреЗ , рд╣рдо рдЧреБрдлрд╛рдУрдВ рдХреЛ рдкрддрд▓рд╛ рдпрд╛ рдореЛрдЯрд╛ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВред рд▓реЗрдХрд┐рди рдореБрдЦреНрдп рдмрд╛рдд рдЬреЛ рд╣рдореЗрдВ рдЖрдЬрдорд╛рдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИ, рд╡рд╣ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣реИ рдХрд┐ рдЧреБрдлрд╛рдПрдВ рд╕рддрд╣ рд╕реЗ рд░рд╛рд╣рдд рдХреЗ рдЗрддрдиреЗ рдмрдбрд╝реЗ рдЯреБрдХрдбрд╝реЗ рдХреЛ рдирд╣реАрдВ рдЦрд╛рдПрдВред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо highland_lowland_select рдлрд╝рдВрдХреНрд╢рди рдкрд░ рд▓реМрдЯ рд╕рдХрддреЗ рд╣реИрдВ , рдЬреЛ, рдЬреИрд╕рд╛ рдХрд┐ рд╣рдо рдпрд╛рдж рдХрд░рддреЗ рд╣реИрдВ, рдЕрдВрддрд┐рдо рд░рд╛рд╣рдд рдХрд╛рд░реНрдп рд╣реИ рдЬреЛ рдкреГрдереНрд╡реА рдХреЗ рдврд╛рд▓ рдХреЛ рд╡рд┐рдХреГрдд рдХрд░рддрд╛ рд╣реИред рдЗрд╕ рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ рдЬреЛ рдЙрдкрдпреЛрдЧреА рд╣реИ рд╡рд╣ рдпрд╣ рд╣реИ рдХрд┐ рдпрд╣ рдЕрднреА рднреА рдПрдХ рдврд╛рд▓ рд╣реИ, рдЬрдм рдлрд╝рдВрдХреНрд╢рди рдЬрдореАрди рдореЗрдВ рдЧрд╣рд░рд╛ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ рддреЛ рдореВрд▓реНрдп рдмрдврд╝ рдЬрд╛рддрд╛ рд╣реИред рд╣рдо рдЧреБрдлрд╛рдУрдВ рдХреЗ рдХрд╛рд░реНрдп рдХреЛ рдХрдордЬреЛрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдврд╛рд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рддрд╛рдХрд┐ рдЧреБрдлрд╛рдПрдВ рдЬрдореАрди рдореЗрдВ рдЧрд╣рд░рд╛рдИ рддрдХ рдЬрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдмрдврд╝реЗрдВред рд╕реМрднрд╛рдЧреНрдп рд╕реЗ рд╣рдорд╛рд░реЗ рд▓рд┐рдП, рдЗрд╕ рдХреНрд╖реАрдгрди рдХреЛ рдХреЗрд╡рд▓ highland_lowland_select рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдЖрдЙрдЯрдкреБрдЯ рдХреЛ рдЧреБрдгрд╛ рдХрд░рдХреЗ рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИcave_shape рдХреЗ рдЖрдЙрдЯрдкреБрдЯ рдХреЗ рд▓рд┐рдП , рдФрд░ рдлрд┐рд░ рдкрд░рд┐рдгрд╛рдо рдХреЛ рдлрд╝рдВрдХреНрд╢рди рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХреЗ рдмрд╛рдХреА рд╣рд┐рд╕реНрд╕реЛрдВ рдореЗрдВ рдкрд╛рд╕ рдХрд░реЗрдВред рдЕрдЧрд▓рд╛, рд╣рдо рдпрд╣рд╛рдВ рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрджрд▓рд╛рд╡ рдХрд░реЗрдВрдЧреЗ - рд╣рдо рдХреИрд╢ рдлрд╝рдВрдХреНрд╢рди рдЬреЛрдбрд╝реЗрдВрдЧреЗ ред рдХреИрд╢рд┐рдВрдЧ рдлрд╝рдВрдХреНрд╢рди рджрд┐рдП рдЧрдП рдЖрд╡рдХ рд╕рдордиреНрд╡рдп рдХреЗ рд▓рд┐рдП рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдкрд░рд┐рдгрд╛рдо рдХреЛ рдмрдЪрд╛рддрд╛ рд╣реИ, рдФрд░ рдпрджрд┐ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдПрдХ рд╣реА рд╕рдордиреНрд╡рдп рдХреЗ рд╕рд╛рде рдмрд╛рд░-рдмрд╛рд░ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдпрд╣ рдХреИрд╢ рдХреА рдЧрдИ рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рд▓реМрдЯрд╛ рджреЗрдЧрд╛, рдФрд░ рдлрд┐рд░ рд╕реЗ рдкрд░рд┐рдгрд╛рдо рдХреА рдЧрдгрдирд╛ рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ред рдпрд╣ рдЙрди рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдореЗрдВ рдЙрдкрдпреЛрдЧреА рд╣реИ рдЬрд╣рд╛рдВ рдПрдХ рдлрд╝рдВрдХреНрд╢рди рд╢реНрд░реГрдВрдЦрд▓рд╛ рдореЗрдВ рдПрдХ рдЬрдЯрд┐рд▓ рдлрд╝рдВрдХреНрд╢рди ( рд╣рд╛рдИрд▓реИрдВрдб_рд▓реЛрд▓реИрдВрдб_рд╕реЗрд▓реЗрдХреНрдЯ ) рдХреЛ рдХрдИ рдмрд╛рд░ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред рдХреИрд╢ рдХреЗ рдмрд┐рдирд╛, рдПрдХ рдЬрдЯрд┐рд▓ рдлрд╝рдВрдХреНрд╢рди рдХреА рдкреВрд░реА рд╢реНрд░реГрдВрдЦрд▓рд╛ рд╣рд░ рдХреЙрд▓ рдХреЗ рд╕рд╛рде рдкреБрдирд░реНрдЧрдгрдирд╛ рд╣реЛрддреА рд╣реИред рдХреИрд╢ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдореЗрдВ рдкрд╣рд▓реЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдмрджрд▓рд╛рд╡ рдХрд░рдиреЗ рд╣реЛрдВрдЧреЗ:{name="highland_lowland_select", type="select", low="lowland_terrain", high="highland_mountain_select", control="terrain_type_cache", threshold=0.25, falloff=0.15},
{name="highland_lowland_select_cache", type="cache", source="highland_lowland_select"},
{name="ground_select", type="select", low=0, high=1, threshold=0.5, control="highland_lowland_select_cache"},
Cache,
ground_select , , . , :
{name="cave_shape", type="fractal", fractaltype=anl.RIDGEDMULTI, basistype=anl.GRADIENT, interptype=anl.QUINTIC, octaves=1, frequency=4},
{name="cave_attenuate_bias", type="bias", source="highland_lowland_select_cache", bias=0.45},
{name="cave_shape_attenuate", type="combiner", operation=anl.MULT, source_0="cave_shape", source_1="cave_attenuate_bias"},
{name="cave_perturb_fractal", type="fractal", fractaltype=anl.FBM, basistype=anl.GRADIENT, interptype=anl.QUINTIC, octaves=6, frequency=3},
{name="cave_perturb_scale", type="scaleoffset", source="cave_perturb_fractal", scale=0.5, offset=0},
{name="cave_perturb", type="translatedomain", source="cave_shape_attenuate", tx="cave_perturb_scale"},
{name="cave_select", type="select", low=1, high=0, control="cave_perturb", threshold=0.48, falloff=0},
рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рд╣рдордиреЗ рдмрд╛рдпрд╕ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдЬреЛрдбрд╝рд╛ ред рдпрд╣ рд╕реБрд╡рд┐рдзрд╛ рдХреЗ рд▓рд┐рдП рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рд╣рдореЗрдВ рдврд╛рд▓ рдХреНрд╖реАрдгрди рд╕рдорд╛рд░реЛрд╣ рдХреЗ рдЕрдВрддрд░рд╛рд▓ рдХреЛ рд╕рдорд╛рдпреЛрдЬрд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рддрдм рд╕рдорд╛рд░реЛрд╣ рдЬреЛрдбрд╝рд╛ cave_shape_attenuate , рдЬреЛ рд╣реИ Combiner рдкреНрд░рдХрд╛рд░ anl :: MULT ред рд╡рд╣ cave_shape рджреНрд╡рд╛рд░рд╛ рдврд╛рд▓ рдХреЛ рдЧреБрдгрд╛ рдХрд░рддреА рд╣реИ ред рдлрд┐рд░ рдЗрд╕ рдСрдкрд░реЗрд╢рди рдХрд╛ рдкрд░рд┐рдгрд╛рдо cave_perturb рдлрд╝рдВрдХреНрд╢рди рдХреЛ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ ред рдкрд░рд┐рдгрд╛рдо рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:, . ( , , . тАФ , - , (0,1).) , , , , . , .
terraintree=
{
{name="ground_gradient", type="gradient", x1=0, x2=0, y1=0, y2=1},
{name="lowland_shape_fractal", type="fractal", fractaltype=anl.BILLOW, basistype=anl.GRADIENT, interptype=anl.QUINTIC, octaves=2, frequency=0.25},
{name="lowland_autocorrect", type="autocorrect", source="lowland_shape_fractal", low=0, high=1},
{name="lowland_scale", type="scaleoffset", source="lowland_autocorrect", scale=0.125, offset=-0.45},
{name="lowland_y_scale", type="scaledomain", source="lowland_scale", scaley=0},
{name="lowland_terrain", type="translatedomain", source="ground_gradient", ty="lowland_y_scale"},
{name="highland_shape_fractal", type="fractal", fractaltype=anl.FBM, basistype=anl.GRADIENT, interptype=anl.QUINTIC, octaves=4, frequency=2},
{name="highland_autocorrect", type="autocorrect", source="highland_shape_fractal", low=-1, high=1},
{name="highland_scale", type="scaleoffset", source="highland_autocorrect", scale=0.25, offset=0},
{name="highland_y_scale", type="scaledomain", source="highland_scale", scaley=0},
{name="highland_terrain", type="translatedomain", source="ground_gradient", ty="highland_y_scale"},
{name="mountain_shape_fractal", type="fractal", fractaltype=anl.RIDGEDMULTI, basistype=anl.GRADIENT, interptype=anl.QUINTIC, octaves=8, frequency=1},
{name="mountain_autocorrect", type="autocorrect", source="mountain_shape_fractal", low=-1, high=1},
{name="mountain_scale", type="scaleoffset", source="mountain_autocorrect", scale=0.45, offset=0.15},
{name="mountain_y_scale", type="scaledomain", source="mountain_scale", scaley=0.25},
{name="mountain_terrain", type="translatedomain", source="ground_gradient", ty="mountain_y_scale"},
{name="terrain_type_fractal", type="fractal", fractaltype=anl.FBM, basistype=anl.GRADIENT, interptype=anl.QUINTIC, octaves=3, frequency=0.125},
{name="terrain_autocorrect", type="autocorrect", source="terrain_type_fractal", low=0, high=1},
{name="terrain_type_y_scale", type="scaledomain", source="terrain_autocorrect", scaley=0},
{name="terrain_type_cache", type="cache", source="terrain_type_y_scale"},
{name="highland_mountain_select", type="select", low="highland_terrain", high="mountain_terrain", control="terrain_type_cache", threshold=0.55, falloff=0.2},
{name="highland_lowland_select", type="select", low="lowland_terrain", high="highland_mountain_select", control="terrain_type_cache", threshold=0.25, falloff=0.15},
{name="highland_lowland_select_cache", type="cache", source="highland_lowland_select"},
{name="ground_select", type="select", low=0, high=1, threshold=0.5, control="highland_lowland_select_cache"},
{name="cave_shape", type="fractal", fractaltype=anl.RIDGEDMULTI, basistype=anl.GRADIENT, interptype=anl.QUINTIC, octaves=1, frequency=4},
{name="cave_attenuate_bias", type="bias", source="highland_lowland_select_cache", bias=0.45},
{name="cave_shape_attenuate", type="combiner", operation=anl.MULT, source_0="cave_shape", source_1="cave_attenuate_bias"},
{name="cave_perturb_fractal", type="fractal", fractaltype=anl.FBM, basistype=anl.GRADIENT, interptype=anl.QUINTIC, octaves=6, frequency=3},
{name="cave_perturb_scale", type="scaleoffset", source="cave_perturb_fractal", scale=0.5, offset=0},
{name="cave_perturb", type="translatedomain", source="cave_shape_attenuate", tx="cave_perturb_scale"},
{name="cave_select", type="select", low=1, high=0, control="cave_perturb", threshold=0.48, falloff=0},
{name = "ground_cave_multiply", рдЯрд╛рдЗрдк = "рдХреЙрдореНрдмрд┐рдирд░", рдСрдкрд░реЗрд╢рди = anl.MULT, source_0 = "cave_select", source_1 = "ground_select"}
}
рдЗрд╕ рд╕рдорд╛рд░реЛрд╣ рд╕реЗ рдкреНрд░рд╛рдкреНрдд рд░реИрдВрдбрдорд╛рдЗрдЬреНрдб рдХрд╛рд░реНрдб рдХреЗ рдЙрджрд╛рд╣рд░рдг рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реИрдВ:


рдЕрдм рд╕рдм рдХреБрдЫ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд▓рдЧ рд░рд╣рд╛ рд╣реИред рд╕рднреА рдЧреБрдлрд╛рдПрдБ рдмрдбрд╝реА рдЧрд╣рд░реА рдЧреБрдлрд╛рдУрдВ рдХреЗ рдмрдЬрд╛рдп рдмрдбрд╝реА рдЧреБрдлрд╛рдПрдБ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╕рддрд╣ рдХреЗ рдХрд░реАрдм рд╡реЗ рдЖрдорддреМрд░ рдкрд░ рдЫреЛрдЯреА рд╕реБрд░рдВрдЧреЛрдВ рдореЗрдВ рдмрджрд▓ рдЬрд╛рддреА рд╣реИрдВред рдпрд╣ рд░рд╣рд╕реНрдп рдХрд╛ рд╡рд╛рддрд╛рд╡рд░рдг рдмрдирд╛рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рддрд╛ рд╣реИред рд╕рддрд╣ рдХреА рдЦреЛрдЬ рдХрд░рддреЗ рд╣реБрдП, рдЖрдк рдЧреБрдлрд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рдЫреЛрдЯрд╛ рдкреНрд░рд╡реЗрд╢ рджреНрд╡рд╛рд░ рдкрд╛рддреЗ рд╣реИрдВред рд╡рд╣ рдХрд╣рд╛рдБ рдЬрд╛ рд░рд╣реА рд╣реИ? рдЗрд╕рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд┐рддрдирд╛ рдЧрд╣рд░рд╛ рд╣реИ? рд╣рдо рдпрд╣ рдирд╣реАрдВ рдЬрд╛рди рд╕рдХрддреЗ, рд▓реЗрдХрд┐рди рдЕрдзреНрдпрдпрди рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рдпрд╣ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рджреЗрддрд╛ рд╣реИ, рдЕрдВрдзреЗрд░реЗ рдФрд░ рдЦрддрд░реЛрдВ рд╕реЗ рднрд░реА рдЧреБрдлрд╛рдУрдВ рдХреА рдПрдХ рд╡реНрдпрд╛рдкрдХ рдкреНрд░рдгрд╛рд▓реА рдореЗрдВ рдмрджрд▓ рдЬрд╛рддрд╛ рд╣реИред рдФрд░ рд▓реВрдЯ, рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗред рд╣рдореЗрд╢рд╛ рд▓реВрдЯ рдордЪреА рд░рд╣рддреА рд╣реИредрдЖрдк рдЗрд╕ рдкреНрд░рдгрд╛рд▓реА рдХреЛ рдХрдИ рдЕрд▓рдЧ-рдЕрд▓рдЧ рддрд░реАрдХреЛрдВ рд╕реЗ рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВ, рдЕрд▓рдЧ-рдЕрд▓рдЧ рдкрд░рд┐рдгрд╛рдо рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд╣рдо рд╕реАрдорд╛ рдХреА рд╕реЗрдЯрд┐рдВрдЧ рдмрджрд▓ рд╕рдХрддреЗ cave_select рдореЗрдВ рдФрд░ рдорд╛рдирдХреЛрдВ cave_attenuate_bias , рдпрд╛ рдмрджрд▓рдиреЗ рдХреЗ cave_attenuate_biasрдЕрдиреНрдп рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдЕрдиреНрдп рдореВрд▓реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдврд╛рд▓ рдЕрдВрддрд░рд╛рд▓ рд╕реЗ рдореЗрд▓ рдЦрд╛рдирд╛ рд╣реИ рдЬреЛ рдЖрдкрдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреЗ рдЕрдиреБрд░реВрдк рдмреЗрд╣рддрд░ рд╣реИрдВред рдЖрдк рдПрдХреНрд╕ рдЕрдХреНрд╖ рдХреЗ рд╕рд╛рде рдЕрд╕реНрд╡рд╛рднрд╛рд╡рд┐рдХ рд░реВрдк рд╕реЗ рдЪрд┐рдХрдиреА рд╕реБрд░рдВрдЧреЛрдВ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рдХреЛ рд╕рдорд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд╛рдИ рдЕрдХреНрд╖ рдХреЗ рд╕рд╛рде рдЧреБрдлрд╛ рдкреНрд░рдгрд╛рд▓реА рдХреЛ рд╡рд┐рдХреГрдд рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдПрдХ рдФрд░ рднрдЧреНрди рдХреЛ рднреА рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ (рдЗрд╕ рддрдереНрдп рдХреЗ рдХрд╛рд░рдг рдХрд┐ рдЧреБрдлрд╛ рдХрд╛ рдЖрдХрд╛рд░ рдХреЗрд╡рд▓ рдПрдХреНрд╕ рдЕрдХреНрд╖ рдХреЗ рд╕рд╛рде рд╡рд┐рдХреГрдд рд╣реИ)ред рдЖрдк рдХреНрд╖реАрдгрди рдХреЗ рдПрдХ рдЕрддрд┐рд░рд┐рдХреНрдд рд╕реНрд░реЛрдд рдХреЗ рд░реВрдк рдореЗрдВ рдПрдХ рдирдпрд╛ рдлреНрд░реИрдХреНрдЯрд▓ рднреА рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ , cave_shape_attenuate рдХреЗ рд▓рд┐рдП рдПрдХ рддреАрд╕рд░рд╛ рд╕реНрд░реЛрдд рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рддреЗ рд╣реИрдВ , рдЬреЛ рдХреНрд╖реЗрддреНрд░реЛрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдХреНрд╖реАрдгрди рдХреЛ рдорд╛рдкрддрд╛ рд╣реИ, рддрд╛рдХрд┐ рдХреБрдЫ рдХреНрд╖реЗрддреНрд░реЛрдВ рдореЗрдВ рдЧреБрдлрд╛рдПрдВ рдШрдиреА рд╣реЛ рдЬрд╛рдПрдВ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдкрд╣рд╛рдбрд╝реЛрдВ рдореЗрдВ), рдФрд░ рдХрдо рдЕрдХреНрд╕рд░ рдпрд╛ рджреВрд╕рд░реЛрдВ рдореЗрдВ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрдиреБрдкрд╕реНрдерд┐рддред рдпрд╣ рдХреНрд╖реЗрддреНрд░реАрдп рдЪрдпрди terrain_type_fractal рдлрд╝рдВрдХреНрд╢рди рд╕реЗ рдмрдирд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИрдпрд╣ рдЬрд╛рдирдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдкрд░реНрд╡рддреАрдп рдХреНрд╖реЗрддреНрд░ рдХрд╣рд╛рдБ рд╕реНрдерд┐рдд рд╣реИрдВред рдпрд╣ рд╕рдм рдЖрдк рдХреНрдпрд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдпрд╣ рд╕реЛрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдиреАрдЪреЗ рдЖрддрд╛ рд╣реИ рдХрд┐ рдЖрдЙрдЯрдкреБрдЯ рдкрд░ рд╡рд┐рднрд┐рдиреНрди рдХрд╛рд░реНрдпреЛрдВ рдХрд╛ рдХреНрдпрд╛ рдкреНрд░рднрд╛рд╡ рдкрдбрд╝реЗрдЧрд╛, рдФрд░ рдЬрдм рддрдХ рдЖрдк рд╡рд╛рдВрдЫрд┐рдд рдкрд░рд┐рдгрд╛рдо рдкреНрд░рд╛рдкреНрдд рдирд╣реАрдВ рдХрд░рддреЗ, рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рд╕рд╛рде рдкреНрд░рдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред рдпрд╣ рдПрдХ рд╕рдЯреАрдХ рд╡рд┐рдЬреНрдЮрд╛рди рдирд╣реАрдВ рд╣реИ, рдФрд░ рдЕрдХреНрд╕рд░ рд╡рд╛рдВрдЫрд┐рдд рдкреНрд░рднрд╛рд╡ рдХреЛ рд╡рд┐рднрд┐рдиреНрди рддрд░реАрдХреЛрдВ рд╕реЗ рдкрд╣реБрдБрдЪрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИредрдХрдорд┐рдпреЛрдВ
рдЗрд╕ рдЗрд▓рд╛рдХреЗ рдХреА рдЬрдирд░реЗрд╢рди рд╡рд┐рдзрд┐ рдореЗрдВ рдиреБрдХрд╕рд╛рди рд╣реИрдВред рд╢реЛрд░ рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд╛рдлреА рдзреАрдореА рд╣реЛ рд╕рдХрддреА рд╣реИред рднрдЧреНрди рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЛ рдХрдо рдХрд░рдирд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ, рдЙрди рднрдЧреНрди рдХреЗ рдЕрд╖реНрдЯрдХ рдХреА рд╕рдВрдЦреНрдпрд╛ рдЬреЛ рдЖрдк рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рдпрджрд┐ рд╕рдВрднрд╡ рд╣реЛ рддреЛ рдЕрдиреНрдп рдзреАрдореЗ рд╕рдВрдЪрд╛рд▓рдиред рдХрдИ рдмрд╛рд░ рднрдЧреНрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВ рдФрд░ рдЙрди рд╕рднреА рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдХреИрд╢ рдХрд░реЗрдВ рдЬрд┐рдиреНрд╣реЗрдВ рдХрдИ рдмрд╛рд░ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рдореИрдВрдиреЗ рд╕реНрд╡рддрдВрддреНрд░ рд░реВрдк рд╕реЗ рднрдЧреНрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛, рдкреНрд░рддреНрдпреЗрдХ рддреАрди рд░рд╛рд╣рдд рдкреНрд░рдХрд╛рд░реЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдХреЗ рд▓рд┐рдПред рдЕрдВрддрд░рд╛рд▓ рдХреЛ рдмрджрд▓рдиреЗ рдФрд░ рдЙрди рд╕рднреА рдХреЗ рдЖрдзрд╛рд░ рдХреЗ рд░реВрдк рдореЗрдВ рдПрдХ рднрдЧреНрди рд▓реЗрдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрдХреЗрд▓рдСрдлрд╝рд╕реЗрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ , рдореИрдВ рдмрд╣реБрдд рдкреНрд░реЛрд╕реЗрд╕рд░ рд╕рдордп рдмрдЪрд╛ рд╕рдХрддрд╛ рд╣реВрдВред 2 рдбреА рдореЗрдВ, рд╕рдм рдХреБрдЫ рдЗрддрдирд╛ рдмреБрд░рд╛ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдЬрдм рдЖрдк 3 рдбреА рдореЗрдВ рдЬрд╛рддреЗ рд╣реИрдВ рдФрд░ рдбреЗрдЯрд╛ рдХреА рдорд╛рддреНрд░рд╛ рдХреА рддреБрд▓рдирд╛ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рд╕рдордп рдореЗрдВ рдХрд╛рдлреА рд╡реГрджреНрдзрд┐ рд╣реЛрдЧреАред3 рдбреА рдкрд░ рдЬрд╛рдПрдВ
рдпрд╣ рд╕рдм рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реИ рдпрджрд┐ рдЖрдк рдЯреЗрд░рд╛рд░рд┐рдпрд╛ рдпрд╛ рдХрд┐рдВрдЧ рдЖрд░реНрдерд░ рдЧреЛрд▓реНрдб рдЬреИрд╕реЗ рдЧреЗрдо рдмрдирд╛рддреЗ рд╣реИрдВ , рд▓реЗрдХрд┐рди рдЕрдЧрд░ рдЖрдкрдХреЛ Minecraft рдпрд╛ Infiniminer рдЬреИрд╕реА рдХрд┐рд╕реА рдЪреАрдЬрд╝ рдХреА рдЬрд╝рд░реВрд░рдд рд╣реИ, рддреЛ рдХреНрдпрд╛ рд╣реЛрдЧрд╛ ? ? , . 3D-. 3D-, 3D- , Y , 2D-. - , , . , Ridged Multifractal 2D- , 3D , , . 3D , 1- Ridged Multifractal, seed. Select 1 0, . , , , , .
terraintree3d=
{
{name="ground_gradient", type="gradient", x1=0, x2=0, y1=0, y2=1},
{name="lowland_shape_fractal", type="fractal", fractaltype=anl.BILLOW, basistype=anl.GRADIENT, interptype=anl.QUINTIC, octaves=2, frequency=0.25},
{name="lowland_autocorrect", type="autocorrect", source="lowland_shape_fractal", low=0, high=1},
{name="lowland_scale", type="scaleoffset", source="lowland_autocorrect", scale=0.125, offset=-0.45},
{name="lowland_y_scale", type="scaledomain", source="lowland_scale", scaley=0},
{name="lowland_terrain", type="translatedomain", source="ground_gradient", ty="lowland_y_scale"},
{name="highland_shape_fractal", type="fractal", fractaltype=anl.FBM, basistype=anl.GRADIENT, interptype=anl.QUINTIC, octaves=4, frequency=2},
{name="highland_autocorrect", type="autocorrect", source="highland_shape_fractal", low=-1, high=1},
{name="highland_scale", type="scaleoffset", source="highland_autocorrect", scale=0.25, offset=0},
{name="highland_y_scale", type="scaledomain", source="highland_scale", scaley=0},
{name="highland_terrain", type="translatedomain", source="ground_gradient", ty="highland_y_scale"},
{name="mountain_shape_fractal", type="fractal", fractaltype=anl.RIDGEDMULTI, basistype=anl.GRADIENT, interptype=anl.QUINTIC, octaves=8, frequency=1},
{name="mountain_autocorrect", type="autocorrect", source="mountain_shape_fractal", low=-1, high=1},
{name="mountain_scale", type="scaleoffset", source="mountain_autocorrect", scale=0.45, offset=0.15},
{name="mountain_y_scale", type="scaledomain", source="mountain_scale", scaley=0.25},
{name="mountain_terrain", type="translatedomain", source="ground_gradient", ty="mountain_y_scale"},
{name="terrain_type_fractal", type="fractal", fractaltype=anl.FBM, basistype=anl.GRADIENT, interptype=anl.QUINTIC, octaves=3, frequency=0.125},
{name="terrain_autocorrect", type="autocorrect", source="terrain_type_fractal", low=0, high=1},
{name="terrain_type_y_scale", type="scaledomain", source="terrain_autocorrect", scaley=0},
{name="terrain_type_cache", type="cache", source="terrain_type_y_scale"},
{name="highland_mountain_select", type="select", low="highland_terrain", high="mountain_terrain", control="terrain_type_cache", threshold=0.55, falloff=0.2},
{name="highland_lowland_select", type="select", low="lowland_terrain", high="highland_mountain_select", control="terrain_type_cache", threshold=0.25, falloff=0.15},
{name="highland_lowland_select_cache", type="cache", source="highland_lowland_select"},
{name="ground_select", type="select", low=0, high=1, threshold=0.5, control="highland_lowland_select_cache"},
{name="cave_attenuate_bias", type="bias", source="highland_lowland_select_cache", bias=0.45},
{name="cave_shape1", type="fractal", fractaltype=anl.RIDGEDMULTI, basistype=anl.GRADIENT, interptype=anl.QUINTIC, octaves=1, frequency=4},
{name="cave_shape2", type="fractal", fractaltype=anl.RIDGEDMULTI, basistype=anl.GRADIENT, interptype=anl.QUINTIC, octaves=1, frequency=4},
{name="cave_shape_attenuate", type="combiner", operation=anl.MULT, source_0="cave_shape1", source_1="cave_attenuate_bias", source_2="cave_shape2"},
{name="cave_perturb_fractal", type="fractal", fractaltype=anl.FBM, basistype=anl.GRADIENT, interptype=anl.QUINTIC, octaves=6, frequency=3},
{name="cave_perturb_scale", type="scaleoffset", source="cave_perturb_fractal", scale=0.5, offset=0},
{name="cave_perturb", type="translatedomain", source="cave_shape_attenuate", tx="cave_perturb_scale"},
{name="cave_select", type="select", low=1, high=0, control="cave_perturb", threshold=0.48, falloff=0},
{name="ground_cave_multiply", type="combiner", operation=anl.MULT, source_0="cave_select", source_1="ground_select"}
}
:
рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдХреБрдЫ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдореЗрдВ рдЯреНрдпреВрдирд┐рдВрдЧ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдпрд╣ рдХреНрд╖реАрдгрди рдХреЛ рдХрдо рдХрд░рдиреЗ рдпрд╛ рдЧреБрдлрд╛рдУрдВ рдХреЛ рдкрддрд▓рд╛ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд╛рдпрдХ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рд░рд╛рд╣рдд рдХреЗ рднрдЧреНрди рдореЗрдВ рд╕рдкреНрддрдХ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЛ рдХрдо рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рддрд╛рдХрд┐ рд░рд╛рд╣рдд рдЪрд┐рдХрдирд╛ рд╣реЛ рдЬрд╛рдП, рдЖрджрд┐ ... рдореИрдВ рджреЛрд╣рд░рд╛рддрд╛ рд╣реВрдВ, рдпрд╣ рд╕рдм рдЗрд╕ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдЖрдк рдХреНрдпрд╛ рдкрд░рд┐рдгрд╛рдо рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред