Π§ΠΈΡ‚Π°ΠΉΡ‚Π΅ ΠΊΠ½ΠΈΠ³ΠΈ ΠΎΠ½Π»Π°ΠΉΠ½ Π½Π° Bookidrom.ru! БСсплатныС ΠΊΠ½ΠΈΠ³ΠΈ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠ»ΠΈΠΊΠ΅

Π§ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΠ½Π»Π°ΠΉΠ½ Β«3ds Max 2008. Π‘Π΅ΠΊΡ€Π΅Ρ‚Ρ‹ мастСрства». Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° 67

Автор Π’Π»Π°Π΄ΠΈΠΌΠΈΡ€ ВСрстак

Π‘ΠΎΡ…Ρ€Π°Π½ΠΈΡ‚Π΅ ΠΈ Π·Π°ΠΊΡ€ΠΎΠΉΡ‚Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Π½ΡƒΡŽ сцСну. Π—Π°Ρ‚Π΅ΠΌ Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚Π΅ с ΠΏΡ€ΠΈΠ»Π°Π³Π°Π΅ΠΌΠΎΠ³ΠΎ DVD Π½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹ΠΉ Ρ„Π°ΠΉΠ» Π΄Π°Π½Π½ΠΎΠ³ΠΎ упраТнСния trackstart.max ΠΈΠ· ΠΏΠ°ΠΏΠΊΠΈ Examples\Π“Π»Π°Π²Π° 08\Track.

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° 3ds Max ΠΎΠ±Π»Π°Π΄Π°Π΅Ρ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒΡŽ ΠΎΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Ρ‚ΡŒ ΠΈ Π·Π°ΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ ΠΏΠΎΡ‡Ρ‚ΠΈ всС ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΈ дСйствия, выполняСмыС Π² процСссС Ρ€Π°Π±ΠΎΡ‚Ρ‹. ДСлаСтся это ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ модуля MAXScript Listener (Π˜Π½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ MAXScript). Π•Π³ΠΎ ΠΎΠΊΠ½ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ, Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΠ² ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ Π³Π»Π°Π²Π½ΠΎΠ³ΠΎ мСню MAXScript β–Ί MAXScript Listener (MAXScript β–Ί Π˜Π½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ MAXScript) ΠΈΠ»ΠΈ Π½Π°ΠΆΠ°Π² ΠΊΠ»Π°Π²ΠΈΡˆΡƒ F11. ΠœΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Π΅Π³ΠΎ Π² качСствС основного источника списка Π±ΡƒΠ΄ΡƒΡ‰ΠΈΡ… ΠΌΠ°ΠΊΡ€ΠΎΠΊΠΎΠΌΠ°Π½Π΄. Но сначала рассмотрим ΠΊΡ€Π°Ρ‚ΠΊΠΎ, Ρ‡Ρ‚ΠΎ Π½Π°ΠΌ Π½Π°Π΄ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ для создания Π°Π½ΠΈΠΌΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΉ гусСницы.

Π’ ΠΏΠ΅Ρ€Π²ΡƒΡŽ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ Π½Π°ΠΌ понадобится Π°Π½ΠΈΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΠΌΠ΅ΡŽΡ‰Π΅Π΅ΡΡ Π·Π²Π΅Π½ΠΎ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° Path Constraint (ΠžΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎ ΠΏΡƒΡ‚ΠΈ). Π—Π°Ρ‚Π΅ΠΌ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ СдинствСнный Π°Π½ΠΈΠΌΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ этого ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° (ΠΏΡ€ΠΎΡ†Π΅Π½Ρ‚ ΠΏΡƒΡ‚ΠΈ, ΠΏΡ€ΠΎΠΉΠ΄Π΅Π½Π½Ρ‹ΠΉ Π·Π²Π΅Π½ΠΎΠΌ гусСницы Π² ΠΏΡ€Π΅Π΄Π΅Π»Π°Ρ… Π°Π½ΠΈΠΌΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ участка), привяТСм ΠΊ Π½Π΅ΠΌΡƒ созданныС ΠΊΠΎΠΏΠΈΠΈ этого ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°, Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΠ² ΠΈΡ… ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ смСщСниС. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΌΡ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠΌ ΠΎΠ΄ΠΈΠ½ Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒΡŽ двиТСния всСй гусСницы ΠΏΡƒΡ‚Π΅ΠΌ измСнСния Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ прохоТдСния этим ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠΌ ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ Ρ†ΠΈΠΊΠ»Π°. Π˜Π½Ρ‹ΠΌΠΈ словами, измСняя врСмя, Π·Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΎΠ΄Π½ΠΎ Π·Π²Π΅Π½ΠΎ гусСницы ΠΏΡ€ΠΎΠΉΠ΄Π΅Ρ‚ ΠΏΠΎΠ»Π½Ρ‹ΠΉ ΠΊΡ€ΡƒΠ³.

НачнСм с настройки записи ΠΌΠ°ΠΊΡ€ΠΎΠΊΠΎΠΌΠ°Π½Π΄. ΠžΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ ΠΎΠΊΠ½ΠΎ MAXScript Listener (Π˜Π½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ MAXScript), для Ρ‡Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Π»ΠΈΠ±ΠΎ ΠΎΠ΄Π½ΠΎΠΈΠΌΠ΅Π½Π½ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ Π³Π»Π°Π²Π½ΠΎΠ³ΠΎ мСню MAXScript, Π»ΠΈΠ±ΠΎ ΠΊΠ»Π°Π²ΠΈΡˆΡƒ F11. Π’ появившСмся ΠΎΠΊΠ½Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ мСню MacroRecoder β–Ί Enable (Π—Π°ΠΏΠΈΡΡŒ макроса β–Ί Π’ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ) для Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ записи всСх ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΠΌΡ‹Ρ… ΠΊΠΎΠΌΠ°Π½Π΄ (рис. 8.71).


Рис. 8.71. Настройки мСню MacroRecoder (Π—Π°ΠΏΠΈΡΡŒ макроса)


Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ ΠΎΠΊΠ½ΠΎ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Π° раздСлится Π½Π° Π΄Π²Π΅ части: Π² Π²Π΅Ρ€Ρ…Π½Π΅ΠΉ Π±ΡƒΠ΄ΡƒΡ‚ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ ΠΌΠ°ΠΊΡ€ΠΎΠΊΠΎΠΌΠ°Π½Π΄Ρ‹, ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ выполняСмым дСйствиям, Π° Π² Π½ΠΈΠΆΠ½Π΅ΠΉ – отладочная информация. ΠžΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ Π½ΠΈΠΆΠ½Π΅Π΅ ΠΎΠΊΠ½ΠΎ являСтся ΠΈ ΠΏΠΎΠ»Π΅ΠΌ для Π²Π²ΠΎΠ΄Π° ΠΌΠ°ΠΊΡ€ΠΎΠΊΠΎΠΌΠ°Π½Π΄. ΠŸΠΎΡΠΌΠΎΡ‚Ρ€ΠΈΠΌ, ΠΊΠ°ΠΊ это всС Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚. Π’Ρ‹Π΄Π΅Π»ΠΈΡ‚Π΅ Π² ΠΎΠΊΠ½Π΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ†ΠΈΠΈ Top (Π‘Π²Π΅Ρ€Ρ…Ρƒ) сцСны Π·Π²Π΅Π½ΠΎ гусСницы ΠΈ ΠΊΠΎΠΏΠΈΡ€ΡƒΠΉΡ‚Π΅ Π΅Π³ΠΎ Ρ‡Π΅Ρ€Π΅Π· Π±ΡƒΡ„Π΅Ρ€ ΠΎΠ±ΠΌΠ΅Π½Π° (ΠΈΠ»ΠΈ Π»ΡŽΠ±Ρ‹ΠΌ доступным способом) с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ сочСтаний клавиш копирования Ctrl+Γ‘ ΠΈ вставки Ctrl+V. Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ Π² Π²Π΅Ρ€Ρ…Π½Π΅ΠΉ части ΠΎΠΊΠ½Π° появится запись, состоящая ΠΈΠ· Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅Ρ… строк. Для исполнСния этого ΠΊΠΎΠ΄Π° ΠΎΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ ΠΎΠΊΠ½ΠΎ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π° ΠΌΠ°ΠΊΡ€ΠΎΠΊΠΎΠΌΠ°Π½Π΄, Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΠ² ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ Π³Π»Π°Π²Π½ΠΎΠ³ΠΎ мСню MAXScript β–Ί New Script (MAXScript β–Ί Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ макрос). Π’ ΠΎΠΊΠ½Π΅ ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊΠ° Π²Ρ‹Π΄Π΅Π»ΠΈΡ‚Π΅ строки, созданныС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΎΠΉ автоматичСски, ΠΈ ΠΏΠ΅Ρ€Π΅Ρ‚Π°Ρ‰ΠΈΡ‚Π΅ ΠΈΡ… Π² ΠΎΠΊΠ½ΠΎ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π°. Π—Π°ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚ΠΈΡ€ΡƒΠΉΡ‚Π΅ Π²Ρ‚ΠΎΡ€ΡƒΡŽ строку, поставив ΠΏΠ΅Ρ€Π΅Π΄ Π½Π΅ΠΉ Π΄Π²Π° минуса, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½Π° Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΎΠΊΠ½ΠΎ Π΄ΠΈΠ°Π»ΠΎΠ³Π° клонирования ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΈ Π½Π°ΠΌ Π½Π΅ Π½ΡƒΠΆΠ½Π° (рис. 8.72). Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ макрос, воспользовавшись ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ мСню Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π° Tools β–Ί Evaluate All (Π˜Π½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚Ρ‹ β–Ί ΠžΡ†Π΅Π½ΠΈΡ‚ΡŒ всС) ΠΈ ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΡƒΠ΄Π°Π»ΠΈΠ² ΠΏΠΎΡΡ‚Ρ€ΠΎΠ΅Π½Π½ΡƒΡŽ Ρ€Π°Π½Π΅Π΅ копию Π·Π²Π΅Π½Π°. ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ список ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², Π²Ρ‹Π·Π²Π°Π² Π΅Π³ΠΎ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ Select by Name (Π’Ρ‹Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΏΠΎ ΠΈΠΌΠ΅Π½ΠΈ)

ΠΈ ΡƒΠ±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ макрос создал копию ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° track.


Рис. 8.72. Окно Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π° ΠΌΠ°ΠΊΡ€ΠΎΠΊΠΎΠΌΠ°Π½Π΄


Π˜Ρ‚Π°ΠΊ, Π²Ρ‹ написали свой ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ макрос (Ссли, ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ, Π½Π΅ Π΄Π΅Π»Π°Π»ΠΈ этого Ρ€Π°Π½Π΅Π΅) ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΠ»ΠΈ Π΅Π³ΠΎ исполнСниС. Π”ΠΎΠΏΠΎΠ»Π½ΠΈΠΌ Π΅Π³ΠΎ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ΠΌΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌΠΈ ΠΈ напишСм ΠΏΠΎΠ»Π½Ρ‹ΠΉ Ρ†ΠΈΠΊΠ» создания ΠΈ рСдактирования Π½ΠΎΠ²Ρ‹Ρ… звСньСв.

Π’ ΠΏΠ΅Ρ€Π²ΡƒΡŽ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ Π½ΡƒΠΆΠ½ΠΎ Π°Π½ΠΈΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ Π·Π²Π΅Π½Π° ΠΏΠΎ ΠΏΡƒΡ‚ΠΈ ΠΈ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ эту Ρ‡Π°ΡΡ‚ΡŒ ΠΌΠ°ΠΊΡ€ΠΎΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ для записи Π² ΠΊΠΎΠ΄. Для этого Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅.

1. Π’ ΠΎΠ΄Π½ΠΎΠΌ ΠΈΠ· ΠΎΠΊΠΎΠ½ ΠΏΡ€ΠΎΠ΅ΠΊΡ†ΠΈΠΉ Π²Ρ‹Π΄Π΅Π»ΠΈΡ‚Π΅ Π·Π²Π΅Π½ΠΎ (ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ track).

2. ΠŸΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ Π½Π° Π²ΠΊΠ»Π°Π΄ΠΊΡƒ Motion (Π”Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅) ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΠΏΠ°Π½Π΅Π»ΠΈ ΠΈ Π² свиткС Assign Controller (ΠΠ°Π·Π½Π°Ρ‡ΠΈΡ‚ΡŒ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€) Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ строку Position: Position XYZ (ПолоТСниС: ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠΎ XYZ) (рис. 8.73).

3. Π’ этом ΠΆΠ΅ свиткС Ρ‰Π΅Π»ΠΊΠ½ΠΈΡ‚Π΅ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΠ΅ Assign Controller (ΠΠ°Π·Π½Π°Ρ‡ΠΈΡ‚ΡŒ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€)

ΠΈ Π² появившСмся ΠΎΠΊΠ½Π΅ Assign Position Controller (ΠΠ°Π·Π½Π°Ρ‡ΠΈΡ‚ΡŒ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ полоТСния) Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ строку Path Constraint (ΠžΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎ ΠΏΡƒΡ‚ΠΈ) (рис. 8.74).

4. Π’ свиткС Path Parameters (ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ ΠΏΡƒΡ‚ΠΈ) Ρ‰Π΅Π»ΠΊΠ½ΠΈΡ‚Π΅ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΠ΅ Add Path (Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΏΡƒΡ‚ΡŒ) ΠΈ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΈΠ· ΠΎΠΊΠΎΠ½ ΠΏΡ€ΠΎΠ΅ΠΊΡ†ΠΈΠΉ ΡƒΠΊΠ°ΠΆΠΈΡ‚Π΅ Π½Π° сплайн ΠΏΡƒΡ‚ΠΈ track_path.

5. Π’ этом ΠΆΠ΅ свиткС Π² области Path Options (ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ ΠΏΡƒΡ‚ΠΈ) установитС Ρ„Π»Π°ΠΆΠΊΠΈ Follow (Π‘Π»Π΅Π΄ΠΎΠ²Π°Ρ‚ΡŒ) ΠΈ Allow Upside Down (Π Π°Π·Ρ€Π΅ΡˆΠΈΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅Π²ΠΎΡ€Π°Ρ‡ΠΈΠ²Π°Ρ‚ΡŒΡΡ). Π’ области Axis (Оси) Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ ось Y ΠΈ установитС Ρ„Π»Π°ΠΆΠΎΠΊ Flip (ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ). Как Π²Ρ‹ Π²ΠΈΠ΄ΠΈΡ‚Π΅, настройки Ρ‚Π°ΠΊΠΈΠ΅ ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΈ для построСния статичСских ΠΊΠΎΠΏΠΈΠΉ Π·Π²Π΅Π½Π° (см. рис. 8.68).

ПослС выполнСния описанных ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ ΠΎΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ ΠΎΠΊΠ½ΠΎ MAXScript Listener (Π˜Π½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ MAXScript). Π’Ρ‹Π΄Π΅Π»ΠΈΡ‚Π΅ ΠΈ пСрСмСститС Π² ΠΎΠΊΠ½ΠΎ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π° ΠΌΠ°ΠΊΡ€ΠΎΠΊΠΎΠΌΠ°Π½Π΄ ΠΏΡΡ‚ΡŒ послСдних строк, относящихся ΠΊ Π²Ρ‹Π±ΠΎΡ€Ρƒ ΠΈ настройкС ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° Path Constraint (ΠžΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎ ΠΏΡƒΡ‚ΠΈ) (рис. 8.75).

Если Π±Ρ‹ ΠΌΡ‹ сСйчас запустили Π½Π° Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ этот ΠΊΠΎΠ΄, Ρ‚ΠΎ Ρƒ нас Π±Ρ‹Π»ΠΎ Π±Ρ‹ создано Π΅Ρ‰Π΅ ΠΎΠ΄Π½ΠΎ Π·Π²Π΅Π½ΠΎ, Π° ΠΊΠΎΠΏΠΈΠΈ Π·Π²Π΅Π½Π° с ΠΈΠΌΠ΅Π½Π΅ΠΌ track01 Π±Ρ‹Π» Π±Ρ‹ присвоСн ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ Path Constraint (ΠžΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎ ΠΏΡƒΡ‚ΠΈ). Но ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ, ΠΊΠΎΠ³Π΄Π° ΠΌΡ‹ Π²Ρ‹Π±ΠΈΡ€Π°Π»ΠΈ сплайн ΠΏΡƒΡ‚ΠΈ, ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ Π½Π΅ внСс ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΡƒΡŽ строку Π² список Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Π½Ρ‹Ρ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ. Π’ связи с этим Π² ΠΊΠΎΠ½Π΅Ρ† ΠΊΠΎΠ΄Π° Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π΄ΠΎΠΏΠΈΡΠ°Ρ‚ΡŒ Π² ΠΎΠΊΠ½ΠΎ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ строку: $.pos.controller.path=$track path.


Рис. 8.73. Π‘Π²ΠΈΡ‚ΠΎΠΊ Assign Controller (ΠΠ°Π·Π½Π°Ρ‡ΠΈΡ‚ΡŒ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€) настроСк ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° track


Рис. 8.74. Окно Assign Position Controller (ΠΠ°Π·Π½Π°Ρ‡ΠΈΡ‚ΡŒ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ полоТСния)


Рис. 8.75. Окно Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π° ΠΌΠ°ΠΊΡ€ΠΎΠΊΠΎΠΌΠ°Π½Π΄ послС добавлСния ΠΊΠΎΠ΄Π°


Π£ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° Path Constraint (ΠžΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎ ΠΏΡƒΡ‚ΠΈ) сущСствуСт ΠΎΠ΄ΠΈΠ½ Π°Π½ΠΈΠΌΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ – Percent (ΠŸΡ€ΠΎΡ†Π΅Π½Ρ‚Ρ‹), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ опрСдСляСт ΠΏΡ€ΠΎΡ†Π΅Π½Ρ‚Ρ‹ ΠΏΡ€ΠΎΠΉΠ΄Π΅Π½Π½ΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠΌ ΠΏΡƒΡ‚ΠΈ. Π­Ρ‚ΠΎΠΌΡƒ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρƒ автоматичСски Π±Ρ‹Π»ΠΎ Π·Π°Π΄Π°Π½ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π½ΡƒΠ»Π΅Π²ΠΎΠ³ΠΎ ΠΈ послСднСго ΠΊΠ°Π΄Ρ€Π° Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΈ. Но Π½Π°ΠΌ Π½Π΅ Π½ΡƒΠΆΠ½Π° анимация, устанавливаСмая ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ, ΠΌΡ‹ собираСмся ΠΏΡ€ΠΈΠ²ΡΠ·Ρ‹Π²Π°Ρ‚ΡŒ всС ΠΊΠΎΠΏΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΠΊ ΠΎΠ΄Π½ΠΎΠΌΡƒ Π·Π²Π΅Π½Ρƒ – track. Π’ связи с этим Π½Π°ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ сгСнСрированныС автоматичСски ΠΊΠ»ΡŽΡ‡ΠΈ Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΈ. Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ, Π΄ΠΎΠ±Π°Π²ΠΈΠ² Π² ΠΊΠΎΠ΄ Π΅Ρ‰Π΅ ΠΎΠ΄Π½Ρƒ строку – deleteKeys $.pos.controller.percent.keys.

ΠŸΠ Π˜ΠœΠ•Π§ΠΠΠ˜Π•

Π—Π½Π°ΠΊ $ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ слСдом Π·Π° Π½ΠΈΠΌ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΈΠ΄Ρ‚ΠΈ имя ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°, Π½ΠΎ Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π΅Π³ΠΎ Π½Π΅Ρ‚, Ρ‚ΠΎ подразумСваСтся Π²Ρ‹Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ сцСны.

Если сСйчас Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΊΠΎΠ΄ Π½Π° исполнСниС, Ρ‚ΠΎ ΠΌΡ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠΌ копию ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° track, ΠΊ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ двиТСния вдоль ΠΏΡƒΡ‚ΠΈ track_path, ΠΈ всС ΠΊΠ»ΡŽΡ‡ΠΈ Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΈ Π±ΡƒΠ΄ΡƒΡ‚ ΡƒΠ΄Π°Π»Π΅Π½Ρ‹ ΠΈΠ· ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°. Π”Π°Π»Π΅Π΅ Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΡŒ, ΠΏΡ€ΠΈ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ созданная копия ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Π±ΡƒΠ΄Π΅Ρ‚ ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚ΡŒ Π·Π° основным ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠΌ. Для этого Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅.

1. Π’Ρ‹Π΄Π΅Π»ΠΈΡ‚Π΅ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΈΠ· ΠΎΠΊΠΎΠ½ ΠΏΡ€ΠΎΠ΅ΠΊΡ†ΠΈΠΉ ΠΈΠ»ΠΈ Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ ΠΈΠ· списка скопированный ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ track01.

2. ΠŸΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ ΠΊ свитку Assign Controller (ΠΠ°Π·Π½Π°Ρ‡ΠΈΡ‚ΡŒ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€), Ρ‰Π΅Π»ΠΊΠ½ΠΈΡ‚Π΅ Π½Π° плюсикС, располоТСнном рядом со строкой Position: Path Constraint (ПолоТСниС: ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎ ΠΏΡƒΡ‚ΠΈ), ΠΈ Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ Π² ΠΎΡ‚ΠΊΡ€Ρ‹Π²ΡˆΠ΅ΠΌΡΡ спискС строку Percent: Linear Float (ΠŸΡ€ΠΎΡ†Π΅Π½Ρ‚Ρ‹: Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ) (рис. 8.76).

3. Π©Π΅Π»ΠΊΠ½ΠΈΡ‚Π΅ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΠ΅ Assign Controller (ΠΠ°Π·Π½Π°Ρ‡ΠΈΡ‚ΡŒ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€)

ΠΈ Π² появившСмся ΠΎΠΊΠ½Π΅ Assign Float Controller (ΠΠ°Π·Π½Π°Ρ‡ΠΈΡ‚ΡŒ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ) Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ строку Float Script (Π‘Ρ†Π΅Π½Π°Ρ€ΠΈΠΉ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΠΉ значСния с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ).

4. Π©Π΅Π»ΠΊΠ½ΠΈΡ‚Π΅ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΠ΅ OK – откроСтся ΠΎΠΊΠ½ΠΎ для Π²Π²ΠΎΠ΄Π° сцСнария. Π—Π°ΠΊΡ€ΠΎΠΉΡ‚Π΅ это ΠΎΠΊΠ½ΠΎ.

5. ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ΡΡŒ ΠΊ ΠΎΠΊΠ½Ρƒ MAXScript Listener (Π˜Π½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ MAXScript), Π²Ρ‹Π΄Π΅Π»ΠΈΡ‚Π΅ ΠΈ пСрСмСститС Π² ΠΎΠΊΠ½ΠΎ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π° ΠΌΠ°ΠΊΡ€ΠΎΠΊΠΎΠΌΠ°Π½Π΄ послСднюю строку ΠΊΠΎΠ΄Π°.

Π’ΠΎ, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ сСйчас сдСлали, ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΠ»ΠΎ Π½Π°ΠΌ Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Π² ΠΎΠΊΠ½ΠΎ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π° ΠΌΠ°ΠΊΡ€ΠΎΠΊΠΎΠΌΠ°Π½Π΄ строку ΠΊΠΎΠ΄Π°, ΠΌΠ΅Π½ΡΡŽΡ‰ΡƒΡŽ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€, созданный ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ, Π½Π° свой, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ с использованиСм сцСнария. На рис. 8.77 прСдставлСн Π²ΠΈΠ΄ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π° со всСми ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹ΠΌΠΈ Π΄ΠΎ настоящСго ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌΠΈ.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π½ΡƒΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π² ΠΎΠΊΠ½ΠΎ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π° нСсколько строк, написанных ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ, Π±Π΅Π· ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΠΎΠΊΠ½Π° MAXScript Listener (Π˜Π½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ MAXScript).

1. Π”ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ ΠΏΠ΅Ρ€Π²ΠΎΠΉ строкой for i = 1 to 90 do(. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ ΠΌΡ‹ создаСм Ρ†ΠΈΠΊΠ», Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‰ΠΈΠΉ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ находится Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΊΡ€ΡƒΠ³Π»Ρ‹Ρ… скобок, начиная ΠΎΡ‚ 1 Π΄ΠΎ 90. Число 90 – это количСство ΠΊΠΎΠΏΠΈΠΉ Π·Π²Π΅Π½Π° Ρ‚Π°Π½ΠΊΠΎΠ²ΠΎΠΉ гусСницы (Ссли ΠΏΠΎΠΌΠ½ΠΈΡ‚Π΅, ΠΌΡ‹ рассчитали ΠΈΡ… Ρ€Π°Π½Π΅Π΅).

2. Π£Π΄Π°Π»ΠΈΡ‚Π΅ Π·Π°ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΡƒΡŽ Π²Ρ‚ΠΎΡ€ΡƒΡŽ строку.

3. Π’ ΠΊΠΎΠ½Ρ†Π΅ ΠΊΠΎΠ΄Π° Π΄ΠΎΠΏΠΈΡˆΠΈΡ‚Π΅: $.pos.controller.percent.controller.script ="at time (currenttime) $track.pos.controller.percent*0.01+ 0.011*"+i as string.

Π’ ΠΏΠ΅Ρ€Π²ΠΎΠΉ части этого выраТСния ΠΌΡ‹ обращаСмся ΠΊ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Ρƒ управлСния ΠΏΠΎ ΠΊΠΎΠ΄Ρƒ, созданному Π² ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΉ строкС, ΠΈ присваиваСм Π΅ΠΌΡƒ строковоС Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅, находящССся Π² ΠΏΡ€Π°Π²ΠΎΠΉ части. Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅. Π’ Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ (at time (currenttime) ) ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Ρƒ Π²Ρ‹Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°, ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰Π΅ΠΌΡƒ ΠΏΡ€ΠΎΡ†Π΅Π½Ρ‚Π°ΠΌΠΈ ($.pos.controller.percent.controller.script), присваиваСм Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΡ†Π΅Π½Ρ‚ΠΎΠ² ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° track ($track.pos. controller.percent), Π΄Π΅Π»Π΅Π½Π½ΠΎΠ΅ Π½Π° 100 (Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π½Π° самом Π΄Π΅Π»Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΡ†Π΅Π½Ρ‚ΠΎΠ² считаСтся Π½Π΅ ΠΎΡ‚ 0 Π΄ΠΎ 100, Π° ΠΎΡ‚ 0 Π΄ΠΎ 1, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ *0.01), ΠΈ Π·Π°Π΄Π°Π΅ΠΌ смСщСниС Π½Π° ΠΎΠ΄Π½ΠΎ Π·Π²Π΅Π½ΠΎ (ΠΎΠ±Ρ‰ΠΈΠ΅ ΠΏΡ€ΠΎΡ†Π΅Π½Ρ‚Ρ‹ ΠΏΡƒΡ‚ΠΈ, Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ Π½Π° количСство звСньСв: 1/90=0.011). Π—Π°Ρ‚Π΅ΠΌ это Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΡƒΠΌΠ½ΠΎΠΆΠ°Π΅ΠΌ Π½Π° порядковый Π½ΠΎΠΌΠ΅Ρ€ (ΠΎΠ½ ΠΆΠ΅ Π½ΠΎΠΌΠ΅Ρ€ ΠΊΠ°Π΄Ρ€Π°), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π² ΠΏΠ΅Ρ€Π²ΠΎΠΉ строкС присваиваСтся ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ i. Но Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΊΠΎΠ΄ записываСтся Π² Π²ΠΈΠ΄Π΅ строковой ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ, числовоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ вынСсти Π·Π° ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠΈ ΠΈ ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡ΠΈΡ‚ΡŒ ΠΊΠ°ΠΊ ΡΡ‚Ρ€ΠΎΠΊΠΎΠ²ΡƒΡŽ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ (i as string), оставив Π² ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠ°Ρ… Π·Π½Π°ΠΊ умноТСния. Π£ΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° число i ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡƒ Π½ΠΎΠ²ΠΎΠΌΡƒ Π·Π²Π΅Π½Ρƒ ΡΠΌΠ΅Ρ‰Π°Ρ‚ΡŒΡΡ Π½Π° ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΡƒΡŽ Π²Π΅Π»ΠΈΡ‡ΠΈΠ½Ρƒ.