рдПрдХрддрд╛ рдореЗрдВ рд▓рдп рдХрд╛ рдЦреЗрд▓ рдмрдирд╛рдирд╛

рдЫрд╡рд┐

рдкрд░рд┐рдЪрдп


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

рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдореБрдЭреЗ рдпреВ-рдЪрд╛рдУ рдХреЗ рд▓рд┐рдП рддрд╛рд▓ рддрд╛рд▓ рдореЗрдВ рд╕рдВрдЧреАрдд рд╕рдордиреНрд╡рдп рдХреЗ рдЕрдиреБрд╡рд╛рдж рдХреЗ рд▓рд┐рдП рдЕрдкрдиреА рдЧрд╣рд░реА рдХреГрддрдЬреНрдЮрддрд╛ рд╡реНрдпрдХреНрдд рдХрд░рдиреА рдЪрд╛рд╣рд┐рдП [ рд╣реЗрдмреЗрд░рд╛ рдореЗрдВ рдЕрдиреБрд╡рд╛рдж ]ред рдпреВ рдиреЗ рдПрдХрддрд╛ рдореЗрдВ рдЧреЗрдо рдЗрдВрдЬрди рдХреЗ рд╕рд╛рде рдСрдбрд┐рдпреЛ рдЯрд╛рдЗрдорд┐рдВрдЧ рдХреЛ рд╕рд┐рдВрдХреНрд░рдирд╛рдЗрдЬрд╝ рдХрд░рдиреЗ рдХреА рдореВрд▓ рдмрд╛рддреЛрдВ рдХреА рд╕рдореАрдХреНрд╖рд╛ рдХреА рдФрд░ рдЕрдкрдиреЗ рдмреВрдЯреНрд╕-рдХрдЯ рдЧреЗрдо рдХреЗ рд▓рд┐рдП рд╕реНрд░реЛрдд рдХреЛрдб рдЕрдкрд▓реЛрдб рдХрд┐рдпрд╛, рдЬрд┐рд╕рд╕реЗ рдореБрдЭреЗ рдЕрдкрдиреА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдмрдирд╛рдиреЗ рдореЗрдВ рдмрд╣реБрдд рдорджрдж рдорд┐рд▓реАред рдпрджрд┐ рдЖрдк рдПрдХрддрд╛ рдХреЗ рд╕рдВрдЧреАрдд рддреБрд▓реНрдпрдХрд╛рд▓рди рдХрд╛ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рдкрд░рд┐рдЪрдп рд╕реАрдЦрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдЙрдирдХреЗ рдкреЛрд╕реНрдЯ рдХрд╛ рдЕрдзреНрдпрдпрди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдореИрдВ рдЗрд╕ рд╡рд┐рд╖рдп рдХреЛ рдФрд░ рдЕрдзрд┐рдХ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рдФрд░ рдЕрдзрд┐рдХ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рдмрддрд╛рдКрдВрдЧрд╛ред рдореЗрд░рд╛ рдХреЛрдб рд╕рдХреНрд░рд┐рдп рд░реВрдк рд╕реЗ рд▓реЗрдЦ рдФрд░ рдмреВрдЯреНрд╕-рдХрдЯ рдХреЛрдб рдХреА рдЬрд╛рдирдХрд╛рд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред

рдХрд┐рд╕реА рднреА рддрд╛рд▓ рдЦреЗрд▓ рдХреЗ рджрд┐рд▓ рдореЗрдВ рд╕рдордп рд╣реИред рд▓рдп рдЯрд╛рдЗрдорд┐рдВрдЧ рдореЗрдВ рдХрд┐рд╕реА рднреА рд╡рд┐рдХреГрддрд┐ рдХреЗ рд▓рд┐рдП рд▓реЛрдЧ рдмреЗрд╣рдж рд╕рдВрд╡реЗрджрдирд╢реАрд▓ рд╣реЛрддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдпрд╣ рдмрд╣реБрдд рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ рдХрд┐ рд▓рдп рдХреЗ рдЦреЗрд▓ рдореЗрдВ рд╕рднреА рдХреНрд░рд┐рдпрд╛рдУрдВ, рдЖрдВрджреЛрд▓рдиреЛрдВ рдФрд░ рдЗрдирдкреБрдЯ рдХреЛ рд╕реАрдзреЗ рд╕рдВрдЧреАрдд рдХреЗ рд╕рд╛рде рд╕рд┐рдВрдХреНрд░рдирд╛рдЗрдЬрд╝ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рдкрд╛рд░рдВрдкрд░рд┐рдХ рдпреВрдирд┐рдЯреА рдЯрд╛рдЗрдо рдЯреНрд░реИрдХрд┐рдВрдЧ рддрд░реАрдХреЗ рдЬреИрд╕реЗ Time.timeSinceLevelLoad рдФрд░ Time.time рдЬрд▓реНрджреА рд╕реЗ рдзреНрд╡рдирд┐ рдХреЗ рд╕рд╛рде рд╕рд┐рдВрдХреНрд░рдирд╛рдЗрдЬрд╝реЗрд╢рди рдЦреЛ рджреЗрддреЗ рд╣реИрдВред рдЗрд╕рд▓рд┐рдП, рд╣рдо рд╕реАрдзреЗ AudioSettings.dspTime рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдСрдбрд┐рдпреЛ рд╕рд┐рд╕реНрдЯрдо рддрдХ рдкрд╣реБрдВрдЪ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВрдЧреЗ, рдЬреЛ рдСрдбрд┐рдпреЛ рд╕рд┐рд╕реНрдЯрдо рджреНрд╡рд╛рд░рд╛ рд╕рдВрд╕рд╛рдзрд┐рдд рдСрдбрд┐рдпреЛ рдирдореВрдиреЛрдВ рдХреА рд╕рд╣реА рд╕рдВрдЦреНрдпрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред рдЗрд╕рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, рдпрд╣ рд╣рдореЗрд╢рд╛ рд╕рдВрдЧреАрдд рдХреЗ рд╕рд╛рде рд╕рд┐рдВрдХреНрд░рдирд╛рдЗрдЬрд╝реЗрд╢рди рдмрдирд╛рдП рд░рдЦрддрд╛ рд╣реИ рдЬрд┐рд╕реЗ рд╡рд╛рдкрд╕ рдмрдЬрд╛рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ (рд╢рд╛рдпрдж рдпрд╣ рдмрд╣реБрдд рд▓рдВрдмреА рдСрдбрд┐рдпреЛ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рд╕рд╛рде рдирд╣реАрдВ рд╣реИ, рдЬрдм рдирдореВрдирд╛ рдкреНрд░рднрд╛рд╡ рдЦреЗрд▓ рдореЗрдВ рдЖрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рд▓рдВрдмрд╛рдИ рдХреЗ рдЧрд╛рдиреЗ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╕рд┐рд╕реНрдЯрдо рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП)ред рдпрд╣ рдлрд╝рдВрдХреНрд╢рди рд╣рдорд╛рд░реА рд░рдЪрдирд╛ рд╕рдордп рдЯреНрд░реИрдХрд┐рдВрдЧ рдХрд╛ рдореВрд▓ рд╣реЛрдЧрд╛, рдФрд░ рдЗрд╕рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рд╣рдо рдореБрдЦреНрдп рд╡рд░реНрдЧ рдмрдирд╛рдПрдВрдЧреЗред

рдХреНрд▓рд╛рд╕ рдХрдВрдбрдХреНрдЯрд░


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

//Song beats per minute //This is determined by the song you're trying to sync up to public float songBpm; //The number of seconds for each song beat public float secPerBeat; //Current song position, in seconds public float songPosition; //Current song position, in beats public float songPositionInBeats; //How many seconds have passed since the song started public float dspSongTime; //an AudioSource attached to this GameObject that will play the music. public AudioSource musicSource; 

рджреГрд╢реНрдп рд╢реБрд░реВ рдХрд░рддреЗ рд╕рдордп, рд╣рдореЗрдВ рдЪрд░ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЧрдгрдирд╛ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдФрд░ рд░рдЪрдирд╛ рдХреЗ рдЖрд░рдВрдн рд╕рдордп рдХрд╛ рд╕рдВрджрд░реНрдн рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рднреА рд░рд┐рдХреЙрд░реНрдб рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

 void Start() { //Load the AudioSource attached to the Conductor GameObject musicSource = GetComponent<AudioSource>(); //Calculate the number of seconds in each beat secPerBeat = 60f / songBpm; //Record the time when the music starts dspSongTime = (float)AudioSettings.dspTime; //Start the music musicSource.Play(); } 

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


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

 void Update() { //determine how many seconds since the song started songPosition = (float)(AudioSettings.dspTime - dspSongTime); //determine how many beats since the song started songPositionInBeats = songPosition / secPerBeat; } 

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


рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рд╕рдВрдЧреАрдд рдореЗрдВ рд╕реНрдХреЛрд░ рдЖрдорддреМрд░ рдкрд░ 1-2-3-4 рдФрд░ рдЗрддрдиреЗ рдкрд░ рдЕрдВрд╢реЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ рдЗрдХрд╛рдИ рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ, рдФрд░ рдЧреАрддрдкреЛрд╕рд┐рд╢рдирдЗрдирдмреАрдЯреНрд╕ 0 рд╕реЗ рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ рдФрд░ рдЗрд╕ рдореВрд▓реНрдп рд╕реЗ рдмрдврд╝рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд░рдЪрдирд╛ рдХрд╛ рддреАрд╕рд░рд╛ рднрд╛рдЧ рдЧреАрддрдкреЛрдЬрд┐рд╢рдирдмреАрдЯреНрд╕ рдХреЗ рдЕрдиреБрд░реВрдк рд╣реЛрдЧрд╛, рдЬреЛ 2.0 рд╣реИ, 3.0 рдирд╣реАрдВред

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

рд╣рдо рд╢реБрд░реБрдЖрддреА рд╣рд┐рд╕реНрд╕реЗ рдХреЗ рдЕрдиреБрдХреВрд▓ рд╣реИрдВ


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


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


рдЗрд╕реЗ рдареАрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдк рдПрдХ рдЪрд░ рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рдЗрд╕ рдСрдлрд╕реЗрдЯ рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрддрд╛ рд╣реИред рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреЛ рдХрдВрдбрдХреНрдЯрд░ рд╡рд░реНрдЧ рдореЗрдВ рдЬреЛрдбрд╝реЗрдВ:

 //The offset to the first beat of the song in seconds public float firstBeatOffset; 

рдЕрджреНрдпрддрди () рдореЗрдВ, рдЧреАрдд рд╕рдВрдЧреНрд░рд╣:

 songPosition = (float)(AudioSettings.dspTime - dspSongTime); 

рджреНрд╡рд╛рд░рд╛ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд:

 songPosition = (float)(AudioSettings.dspTime - dspSongTime - firstBeatOffset); 

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



рд░рд┐рдкреНрд▓реЗ


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

рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд▓реВрдкреЗрдб рдЯреБрдХрдбрд╝рд╛ рд╣реИ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрджрд┐ рдЧреАрдд рдЯреЗрдореНрдкреЛ 120 рдмреАрдкреАрдПрдо рд╣реИ, рдФрд░ рд▓реВрдк рдХрд┐рдП рдЧрдП рдЯреБрдХрдбрд╝реЗ рдХреА рд▓рдВрдмрд╛рдИ 4 рдмреАрдЯ рд╣реИ, рддреЛ рдпрд╣ рдХрдВрдбрдХреНрдЯрд░ рд╡рд░реНрдЧ рдХреЗ рдСрдбрд┐рдпреЛ рд╕реНрд░реЛрдд рд╡рд░реНрдЧ рдореЗрдВ рд▓реЛрдб рдХрд┐рдпрд╛ рдЧрдпрд╛, рдпрд╣ рдмрд┐рд▓реНрдХреБрд▓ 8.0 рд╕реЗрдХрдВрдб рдкреНрд░рддрд┐ рд╕реЗрдХрдВрдб рдореЗрдВ 8.0 рд╕реЗрдХрдВрдб рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП) рдлрд┐рд░ рд▓реВрдк рдмреЙрдХреНрд╕ рдХреА рдЬрд╛рдВрдЪ рдХрд░реЗрдВред рдХрдВрдбрдХреНрдЯрд░ рдкрд╣рд▓реЗ рдХреА рддрд░рд╣ рд╣реА рдХрд╛рдо рдХрд░реЗрдЧрд╛, рдФрд░ рдХреНрд▓рд┐рдк рдХреА рдкрд╣рд▓реА рд╢реБрд░реБрдЖрдд рдХреЗ рдмрд╛рдж рдЧреАрдд-рд╕рдВрдЧреНрд░рд╣ рдХреЗ рд▓рд┐рдП рдХреБрд▓ рд╕рдордп рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░реЗрдЧрд╛ред рд▓реВрдк рдХреА рд╕реНрдерд┐рддрд┐ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдореЗрдВ рдХрд┐рд╕реА рддрд░рд╣ рдХрдВрдбрдХреНрдЯрд░ рдХреЛ рдмрддрд╛рдирд╛ рд╣реЛрдЧрд╛ рдХрд┐ рдПрдХ рд▓реВрдк рдореЗрдВ рдХрд┐рддрдиреЗ рд╢реЗрдпрд░ рд╣реИрдВ рдФрд░ рдХрд┐рддрдиреЗ рд▓реВрдк рдкрд╣рд▓реЗ рд╣реА рдЦреЗрд▓реЗ рдЬрд╛ рдЪреБрдХреЗ рд╣реИрдВред рдХрдВрдбрдХреНрдЯрд░ рд╡рд░реНрдЧ рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЪрд░ рдЬреЛрдбрд╝реЗрдВ:

 //the number of beats in each loop public float beatsPerLoop; //the total number of loops completed since the looping clip first started public int completedLoops = 0; //The current position of the song within the loop in beats. public float loopPositionInBeats; 

рдЕрдм SongPositionInBeats рдХреЗ рдкреНрд░рддреНрдпреЗрдХ рдЕрдкрдбреЗрдЯ рдХреЗ рд╕рд╛рде, рд╣рдо рд▓реВрдк рдХреЗ рдЕрдкрдбреЗрдЯ () рд╕реНрдерд┐рддрд┐ рдХреЛ рднреА рдЕрдкрдбреЗрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

 //calculate the loop position if (songPositionInBeats >= (completedLoops + 1) * beatsPerLoop) completedLoops++; loopPositionInBeats = songPositionInBeats - completedLoops * beatsPerLoop; 

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

рд╣рдореЗрдВ рд╢реЗрдпрд░реЛрдВ рдХреА рдЧрдгрдирд╛ рдкрд░ рднреА рдзреНрдпрд╛рди рд╕реЗ рд╡рд┐рдЪрд╛рд░ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рд╕рдВрдЧреАрдд рд╣рдореЗрд╢рд╛ 1 рд╕реЗ рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП 4-рднрд╛рдЧ рдорд╛рдк 1-2-3-4- рд▓реЗрддрд╛ рд╣реИ, рдФрд░ рд╣рдорд╛рд░реА рдХрдХреНрд╖рд╛ рдореЗрдВ рд▓реВрдкрдкреЛрдЬрд┐рд╢рдирдЗрдирдмреАрдЯреНрд╕ 0.0 рд╕реЗ рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ рдФрд░ 4.0 рд╕реЗ рдЕрдзрд┐рдХ рдЫреЛрд░реЛрдВ рдкрд░ рд╣реЛрддрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП, рд▓реВрдк рдХрд╛ рд╕рдЯреАрдХ рдордзреНрдп, рдЬреЛ рдХрд┐ рд╕рдВрдЧреАрдд рдХреЗ рдЕрдиреБрдкрд╛рдд рдХреА рдЧрдгрдирд╛ рдХрд░рддреЗ рд╕рдордп 3 рд╣реЛрдЧрд╛, рд▓реВрдк рдореЗрдВред InBeats рдХрд╛ рдорд╛рди 2.0 рд╣реЛрдЧрд╛ред рдЖрдк рдЗрд╕реЗ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрддреЗ рд╣реБрдП рд▓реВрдкрдкреЛрдЬрд┐рд╢рди рдЗрдирдмреАрдЯреНрд╕ рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдпрд╣ рдЕрдиреНрдп рд╕рднреА рдЧрдгрдирд╛рдУрдВ рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░реЗрдЧрд╛, рдЗрд╕рд▓рд┐рдП рдиреЛрдЯ рдбрд╛рд▓рддреЗ рд╕рдордп рд╕рд╛рд╡рдзрд╛рди рд░рд╣реЗрдВред

рд╕рд╛рде рд╣реА рд╢реЗрд╖ рдЙрдкрдХрд░рдгреЛрдВ рдХреЗ рд▓рд┐рдП рдХрдВрдбрдХреНрдЯрд░ рд╡рд░реНрдЧ рдореЗрдВ рджреЛ рдФрд░ рдкрд╣рд▓реБрдУрдВ рдХреЛ рдЬреЛрдбрд╝рдирд╛ рдЙрдкрдпреЛрдЧреА рд╣реЛрдЧрд╛ред рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, LoopPositionInBeats рдХреЗ рдПрдХ рдПрдирд╛рд▓реЙрдЧ рд╕рдВрд╕реНрдХрд░рдг рдХреЛ LoopPositionInAnalog рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреЛ 0 рд╕реЗ 1.0 рддрдХ рдХреА рд╕реАрдорд╛ рдореЗрдВ рд▓реВрдк рдХреА рд╕реНрдерд┐рддрд┐ рдХреЛ рдорд╛рдкрддрд╛ рд╣реИред рджреВрд╕рд░реА рдЕрдиреНрдп рдХрдХреНрд╖рд╛рдУрдВ рд╕реЗ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдХреЙрд▓рд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдХрдВрдбрдХреНрдЯрд░ рд╡рд░реНрдЧ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╣реИред рдХрдВрдбрдХреНрдЯрд░ рд╡рд░реНрдЧ рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЪрд░ рдЬреЛрдбрд╝реЗрдВ:

 //The current relative position of the song within the loop measured between 0 and 1. public float loopPositionInAnalog; //Conductor instance public static Conductor instance; 

рдЕрд╡реЗрдХ () рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ, рдЬреЛрдбрд╝реЗрдВ:

 void Awake() { instance = this; } 

рдФрд░ рдЕрджреНрдпрддрди () рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ рдЬреЛрдбрд╝реЗрдВ:

 loopPositionInAnalog = loopPositionInBeats / beatsPerLoop; 

рд╕рд┐рдВрдХ рдЪрд╛рд▓реВ рдХрд░реЗрдВ


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

рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, SyncedRotation рдирд╛рдордХ рдПрдХ рдирдИ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдмрдирд╛рдПрдВ, рдФрд░ рдЗрд╕реЗ рдЧреЗрдордСрдмрдЬреЗрдХреНрдЯ рдореЗрдВ рд╕рдВрд▓рдЧреНрди рдХрд░реЗрдВ рдЬрд┐рд╕реЗ рдЖрдк рдШреБрдорд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред SyncedRotation рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рдЕрдкрдбреЗрдЯ () рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ рдЬреЛрдбрд╝реЗрдВ:

 void Update() { this.gameObject.transform.rotation = Quaternion.Euler(0, 0, Mathf.Lerp(0, 360, Conductor.instance.loopPositionInAnalog)); } 

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

рдПрдирд┐рдореЗрд╢рди рд╕рд┐рдВрдХ


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

рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, SyncedAnimation рдирд╛рдордХ рдПрдХ рдирдпрд╛ рд╡рд░реНрдЧ рдмрдирд╛рдПрдВ, рдФрд░ рдЗрд╕рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЪрд░ рдЬреЛрдбрд╝реЗрдВ:

 //The animator controller attached to this GameObject public Animator animator; //Records the animation state or animation that the Animator is currently in public AnimatorStateInfo animatorStateInfo; //Used to address the current state within the Animator using the Play() function public int currentState; 

рдЗрд╕реЗ рдПрдХ рдирдП рдпрд╛ рдореМрдЬреВрджрд╛ рдЧреЗрдо рдСрдмрдЬреЗрдХреНрдЯ рдореЗрдВ рд╕рдВрд▓рдЧреНрди рдХрд░реЗрдВ рдЬрд┐рд╕реЗ рдЖрдк рдЪреЗрддрди рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред рдЗрд╕ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рд╣рдо рдмрд╕ рд╡рд╕реНрддреБ рдХреЛ рдЖрдЧреЗ рдФрд░ рдкреАрдЫреЗ рд╕реНрдХреНрд░реАрди рдкрд░ рдШреБрдорд╛рдПрдВрдЧреЗ, рд▓реЗрдХрд┐рди рд╕рдорд╛рди рд╕рд┐рджреНрдзрд╛рдВрдд рдХреЛ рдХрд┐рд╕реА рднреА рдПрдиреАрдореЗрд╢рди рдкрд░ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдпрд╣ рд╕рдВрдкрддреНрддрд┐, рдпрд╛ рдлреНрд░реЗрдо-рдмрд╛рдп-рдлреНрд░реЗрдо рдПрдиреАрдореЗрд╢рди рдХреЛ рд╕реЗрдЯ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рд╣реЛред GameObject рдореЗрдВ рдПрдХ рдПрдирд┐рдореЗрдЯрд░ рддрддреНрд╡ рдЬреЛрдбрд╝реЗрдВ рдФрд░ SyncedAnimController рдирд╛рдордХ рдПрдХ рдирдпрд╛ рдПрдирд┐рдореЗрдЯрд░ рдХрдВрдЯреНрд░реЛрд▓рд░ рдмрдирд╛рдПрдВ, рд╕рд╛рде рд╣реА рдмреИрдХрдПрдВрдбрдлреЛрд░реНрде рдирд╛рдордХ рдПрдХ рдПрдиреАрдореЗрд╢рди рдХреНрд▓рд┐рдк ред рд╣рдо рдЧреЗрдордСрдмреНрдЬреЗрдХреНрдЯ рд╕реЗ рдЬреБрдбрд╝реЗ рдПрдирд┐рдореЗрдЯрд░ рд╡рд░реНрдЧ рдореЗрдВ рдирд┐рдпрдВрддреНрд░рдХ рдХреЛ рд▓реЛрдб рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рдПрдиреАрдореЗрд╢рди рдЯреНрд░реА рдХреЛ рдПрдиреАрдореЗрд╢рди рдХреЛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдПрдиреАрдореЗрд╢рди рдХреЗ рд░реВрдк рдореЗрдВ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВред


рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ рдПрдиреАрдореЗрд╢рди рд╕реЗрдЯ рдХрд┐рдпрд╛ рддрд╛рдХрд┐ рд╡рд╣ рдкрд╣рд▓реЗ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рджрд╛рдИрдВ рдУрд░ 6 рдЗрдХрд╛рдЗрдпреЛрдВ рддрдХ рд▓реЗ рдЬрд╛рдП, рдлрд┐рд░ рдмрд╛рдИрдВ рдУрд░ -6 рддрдХ, рдФрд░ рдлрд┐рд░ рд╡рд╛рдкрд╕ 0 рдкрд░ рд▓реЗ рдЬрд╛рдПред


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

 void Start() { //Load the animator attached to this object animator = GetComponent<Animator>(); //Get the info about the current animator state animatorStateInfo = animator.GetCurrentAnimatorStateInfo(0); //Convert the current state name to an integer hash for identification currentState = animatorStateInfo.fullPathHash; } 

рдлрд┐рд░ рдПрдиреАрдореЗрд╢рди рд╕реЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрджреНрдпрддрди () рдореЗрдВ рдирд┐рдореНрди рдХреЛрдб рдЬреЛрдбрд╝реЗрдВ:

 void Update() { //Start playing the current animation from wherever the current conductor loop is animator.Play(currentState, -1, (Conductor.instance.loopPositionInAnalog)); //Set the speed to 0 so it will only change frames when you next update it animator.speed = 0; } 

рддреЛ рд╣рдо рдПрдиреАрдореЗрд╢рди рдХреЛ рдПрдХ рдкреВрд░реНрдг рд▓реВрдк рдХреЗ рд╕рд╛рдкреЗрдХреНрд╖ рдПрдиреАрдореЗрд╢рди рдХреЗ рд╕рдЯреАрдХ рдлреНрд░реЗрдо рдореЗрдВ рд░рдЦрддреЗ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрджрд┐ рдЖрдк рдКрдкрд░ рджрд┐рдП рдЧрдП рдПрдиреАрдореЗрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рдЬрдм рдЖрдк рд▓реВрдк рдХреЗ рдмреАрдЪ рдореЗрдВ рд╣реЛрддреЗ рд╣реИрдВ, рддреЛ рдЧреЗрдордСрдмреНрдЬреЗрдХреНрдЯ рд╕реНрдерд┐рддрд┐ рдХреЗрд╡рд▓ 0. рдкрд╛рд░ рдХрд░ рдЬрд╛рдПрдЧреАред рдпрд╣ рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рдмрдирд╛рдП рдЧрдП рдХрд┐рд╕реА рднреА рдПрдиреАрдореЗрд╢рди рдкрд░ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдЬрд┐рд╕реЗ рдЖрдк рдХрдВрдбрдХреНрдЯрд░ рдЯреЗрдореНрдкреЛ рдХреЗ рд╕рд╛рде рд╕рд┐рдВрдХреНрд░рдирд╛рдЗрдЬрд╝ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред

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


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

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


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

рдЫрд╡рд┐

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

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


All Articles