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

Π§ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΠ½Π»Π°ΠΉΠ½ «НаписаниС скриптов для Blender 2.49Β». Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° 7

Автор Michel Anders

Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ прСимущСством являСтся Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈ этом ΠΌΠΎΠΆΠ½ΠΎ Π»Π΅Π³ΠΊΠΎ ΡƒΠΏΠ°ΠΊΠΎΠ²Π°Ρ‚ΡŒ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ рСсурсы Π² Ρ‚ΠΎΡ‚ ΠΆΠ΅ .blend Ρ„Π°ΠΉΠ». НапримСр, скрипт ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Ρ‹ ΠΈΠ»ΠΈ тСкстуры, ΠΈΠ»ΠΈ Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π·Π°Ρ…ΠΎΡ‚Π΅Ρ‚ΡŒ Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ ΠΎΠ±Ρ€Π°Π·Π΅Ρ† Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° вашСго скрипта. ЕдинствСнная Π²Π΅Ρ‰ΡŒ, которая ΠΎΡ‡Π΅Π½ΡŒ Ρ‚Ρ€ΡƒΠ΄Π½Π° - Ρ€Π°ΡΠΏΡ€ΠΎΡΡ‚Ρ€Π°Π½ΡΡ‚ΡŒ Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ ΠŸΠΈΡ‚ΠΎΠ½Π°. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ import, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ ΠΊ Π΄Ρ€ΡƒΠ³ΠΈΠΌ тСкстовым Ρ„Π°ΠΉΠ»Π°ΠΌ, Π½ΠΎ это ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ (смотри ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ B). Если Ρƒ вас Π΅ΡΡ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° ΠΈ ΠΎΠ½ ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Π½ Π² модулях, Π’Π°ΠΌ ΠΈ вашим ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌ, вСроятно, Π±ΡƒΠ΄Π΅Ρ‚ Π»ΡƒΡ‡ΡˆΠ΅, Ссли Π’Ρ‹ станСтС Ρ€Π°ΡΠΏΡ€ΠΎΡΡ‚Ρ€Π°Π½ΡΡ‚ΡŒ всё Π² Π²ΠΈΠ΄Π΅ ZIP-Ρ„Π°ΠΉΠ»Π° с ясными инструкциями, ΠΊΡƒΠ΄Π° Π½ΡƒΠΆΠ½ΠΎ Ρ€Π°ΡΠΏΠ°ΠΊΠΎΠ²Ρ‹Π²Π°Ρ‚ΡŒ этот ZIP-Ρ„Π°ΠΉΠ».

Для Pynodes (ΠΈΠ»ΠΈ динамичСских Π½ΠΎΠ΄ΠΎΠ², смотри Π“Π»Π°Π²Ρƒ 7) Ρƒ вас Π½Π΅Ρ‚ Π²Ρ‹Π±ΠΎΡ€Π°. Pynodes ΠΌΠΎΠ³ΡƒΡ‚ ΡΡΡ‹Π»Π°Ρ‚ΡŒΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π° ΠΊΠΎΠ΄ ΠŸΠΈΡ‚ΠΎΠ½Π°, содСрТащийся Π² тСкстах Π²Π½ΡƒΡ‚Ρ€ΠΈ .blend Ρ„Π°ΠΉΠ»Π°. На самом Π΄Π΅Π»Π΅ это Π½Π΅ являСтся ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ΠΌ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ эти Pynodes - Π½Π΅ΠΎΡ‚ΡŠΠ΅ΠΌΠ»Π΅ΠΌΠ°Ρ Ρ‡Π°ΡΡ‚ΡŒ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Π°, Π° ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Ρ‹ Π‘Π»Π΅Π½Π΄Π΅Ρ€Π° ΠΌΠΎΠ³ΡƒΡ‚ Ρ€Π°ΡΠΏΡ€ΠΎΡΡ‚Ρ€Π°Π½ΡΡ‚ΡŒΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π²Π½ΡƒΡ‚Ρ€ΠΈ .blend Ρ„Π°ΠΉΠ»Π°. Когда эти ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Ρ‹ привязаны ΠΈΠ»ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ ΠΊ связанным с Π½ΠΈΠΌΠΈ Π½ΠΎΠ΄Π°ΠΌΠΈ, Ρ‚ΠΎ Π»ΡŽΠ±Ρ‹Π΅ тСксты, ассоциированныС с Pynodes, ΠΏΡ€ΠΈΠ²ΡΠ·Ρ‹Π²Π°ΡŽΡ‚ΡΡ ΠΈΠ»ΠΈ Π΄ΠΎΠ±Π°Π²Π»ΡΡŽΡ‚ΡΡ Ρ‚Π°ΠΊΠΆΠ΅, ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΡΠΊΡ€Ρ‹Π²Π°ΡΡΡŒ ΠΎΡ‚ ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ Ρ‡Π΅Ρ€Π΅Π· ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π», ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½Π° самом Π΄Π΅Π»Π΅ создаётся.


API Π‘Π»Π΅Π½Π΄Π΅Ρ€Π°

ΠŸΡ€ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ Π½Π° ΠŸΠΈΡ‚ΠΎΠ½Π΅ Π² Π‘Π»Π΅Π½Π΄Π΅Ρ€Π΅ Π²Π°ΠΆΠ½ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ, ΠΊΠ°ΠΊΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ обСспСчиваСтся API, Π° Ρ‚Π΅ΠΌ Π±ΠΎΠ»Π΅Π΅, ΠΊΠ°ΠΊΠΈΠ΅ Π½Π΅Ρ‚. API, Π² основном, Π΄Π°Ρ‘Ρ‚ доступ ΠΊΠΎ всСм Π΄Π°Π½Π½Ρ‹ΠΌ ΠΈ прСдоставляСт Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ для манипуляции этими Π΄Π°Π½Π½Ρ‹ΠΌΠΈ. К Ρ‚ΠΎΠΌΡƒ ΠΆΠ΅, API обСспСчиваСт Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° функциями для рисования Π½Π° экранС ΠΈ для взаимодСйствия с интСрфСйсом ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΈ ΠΎΠΊΠΎΠ½Π½ΠΎΠΉ систСмой. Π§Ρ‚ΠΎ API Π‘Π»Π΅Π½Π΄Π΅Ρ€Π° Π½Π΅ прСдоставляСт - это ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΡΠΏΠ΅Ρ†ΠΈΡ„ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ, ΠΊΡ€ΠΎΠΌΠ΅ присваивания простых свойств, особСнно нСдостаёт всСх Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, ΠΌΠ°Π½ΠΈΠΏΡƒΠ»ΠΈΡ€ΡƒΡŽΡ‰ΠΈΡ… мСшами Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ Π²Π΅Ρ€ΡˆΠΈΠ½, Ρ€Ρ‘Π±Π΅Ρ€ ΠΈ Π³Ρ€Π°Π½Π΅ΠΉ, ΠΊΡ€ΠΎΠΌΠ΅ ΠΊΠ°ΠΊ добавлСния ΠΈΠ»ΠΈ удалСния ΠΈΡ….

Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΎΡ‡Π΅Π½ΡŒ высокоуровнСвыС ΠΈΠ»ΠΈ слоТныС Π·Π°Π΄Π°Ρ‡ΠΈ, ΠΊΠ°ΠΊ Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π° subsurface Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ МСша ΠΈΠ»ΠΈ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π΄ΠΈΠ°Π»ΠΎΠ³Π° Π²Ρ‹Π±ΠΎΡ€Π° Ρ„Π°ΠΉΠ»ΠΎΠ², Ρ‚Π°ΠΊ ΠΆΠ΅ просто, ΠΊΠ°ΠΊ написаниС ΠΎΠ΄Π½ΠΎΠΉ строки ΠΊΠΎΠ΄Π°, Ρ‚ΠΎΠ³Π΄Π° ΠΊΠ°ΠΊ ваТнСйшиС ΠΈ, Π²ΠΈΠ΄ΠΈΠΌΠΎ, простыС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ ΠΏΠΎΠ΄Ρ€Π°Π·Π±ΠΈΠ΅Π½ΠΈΠ΅ (subdividing) Ρ€Π΅Π±Ρ€Π° ΠΈΠ»ΠΈ Π²Ρ‹Π±ΠΎΡ€ Ρ€Ρ‘Π±Π΅Ρ€Π½ΠΎΠ³ΠΎ Ρ†ΠΈΠΊΠ»Π° Π½Π΅ доступны. Π­Ρ‚ΠΎ Π½Π΅ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ эти Π·Π°Π΄Π°Ρ‡ΠΈ нСльзя Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ, Π½ΠΎ ΠΌΡ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΡ… ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ. Π’Π°ΠΊ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ² Π² этой ΠΊΠ½ΠΈΠ³Π΅ ссылаСтся Π½Π° ΠΌΠΎΠ΄ΡƒΠ»ΡŒ, Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹ΠΉ Tools, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΡ‹ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π΅ΠΌ Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… Π³Π»Π°Π²Π°Ρ…, ΠΈ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±ΡƒΠ΄Π΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Π΅ инструмСнты ΠΎΡ‚ выдавливания Π³Ρ€Π°Π½Π΅ΠΉ Π΄ΠΎ замыкания Ρ†ΠΈΠΊΠ»ΠΎΠ². Π“Π΄Π΅ это Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΈ интСрСсно, ΠΌΡ‹ освСтим ΠΊΠΎΠ΄ этого модуля, Π½ΠΎ, Π³Π»Π°Π²Π½Ρ‹ΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΎΠ½ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ ΠΈΠΌΠ΅Ρ‚ΡŒ запас всСго Ρ‚ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠ³ Π±Ρ‹ увСсти нас ΠΎΡ‚ Π½Π°ΡˆΠΈΡ… Ρ†Π΅Π»Π΅ΠΉ.

Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Ρ€Π°Π·Π΄Π΅Π»Ρ‹ Π΄Π°ΡŽΡ‚ ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΈΠΉ ΠΈ ΠΎΡ‡Π΅Π½ΡŒ повСрхностный ΠΎΠ±Π·ΠΎΡ€ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ доступно Π² API Π‘Π»Π΅Π½Π΄Π΅Ρ€Π°. ΠœΠ½ΠΎΠΆΠ΅ΡΡ‚Π²ΠΎ ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ ΠΈ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚ Π±ΡƒΠ΄ΡƒΡ‚ Π·Π°Π½ΠΈΠΌΠ°Ρ‚ΡŒ Π²Π°ΠΆΠ½ΠΎΠ΅ мСсто Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… Π³Π»Π°Π²Π°Ρ…, ΠΊΠΎΠ³Π΄Π° ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ практичСскиС ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹. Π­Ρ‚ΠΎΡ‚ ΠΎΠ±Π·ΠΎΡ€ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ Π² качСствС срСдства, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ Π²Π°ΠΌ Π½Π°Ρ‡Π°Ρ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ, Ссли Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΡƒΠ·Π½Π°Ρ‚ΡŒ ΠΎ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Ρ… возмоТностях ΠΈ Π½Π΅ Π·Π½Π°Π΅Ρ‚Π΅, Π³Π΄Π΅ ΠΈΡΠΊΠ°Ρ‚ΡŒ Π² ΠΏΠ΅Ρ€Π²ΡƒΡŽ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ. Π­Ρ‚ΠΎ Π΄Π°Π»Π΅ΠΊΠΎ Π½Π΅ ΠΏΠΎΠ»Π½Ρ‹ΠΉ список Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ ΠΏΠΎ API Π‘Π»Π΅Π½Π΄Π΅Ρ€Π°. Для этого, ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ послСднюю Π²Π΅Ρ€ΡΠΈΡŽ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ ΠΎΠ½Π»Π°ΠΉΠ½-API. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π½Π°ΠΉΡ‚ΠΈ ссылку Π² ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ A Бсылки ΠΈ РСсурсы.


ΠœΠΎΠ΄ΡƒΠ»ΡŒ Blender

ΠœΠΎΠ΄ΡƒΠ»ΡŒ Blender слуТит Π² качСствС ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π° для Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π° Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ ΠΈ обСспСчиваСт Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ доступа ΠΊ систСмной ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡŽ ΠΎΠ±Ρ‰ΠΈΡ… Π·Π°Π΄Π°Ρ‡.

НапримСр, такая информация, ΠΊΠ°ΠΊ вСрсия Π‘Π»Π΅Π½Π΄Π΅Ρ€, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅, ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΈΠ·Π²Π»Π΅Ρ‡Π΅Π½Π° с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Get():

import Blender

version = Blender.Get('version')

Π’ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ всСх Π²Π½Π΅ΡˆΠ½ΠΈΡ… связанных Ρ„Π°ΠΉΠ»ΠΎΠ² Π² .blend Ρ„Π°ΠΉΠ» (Π² Π‘Π»Π΅Π½Π΄Π΅Ρ€Π΅ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΠΎΠ΅ ΡƒΠΏΠ°ΠΊΠΎΠ²ΠΊΠΎΠΉ) ΠΈΠ»ΠΈ сохранСниС вашСго Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ сСанса Π‘Π»Π΅Π½Π΄Π΅Ρ€Π° Π² .blend Ρ„Π°ΠΉΠ» - Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ, выполняСмой Π² ΠΌΠΎΠ΄ΡƒΠ»Π΅ Π‘Π»Π΅Π½Π΄Π΅Ρ€Π° Π²Π΅Ρ€Ρ…Π½Π΅Π³ΠΎ уровня:

import Blender

Blender.PackAll()

Blender.Save('myfile.blend')


ΠžΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ Π‘Π»Π΅Π½Π΄Π΅Ρ€Π°

ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ‚ΠΈΠΏ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Π‘Π»Π΅Π½Π΄Π΅Ρ€Π° (Object, Mesh, Armature, Lamp, Scene ΠΈ Ρ‚Π°ΠΊ Π΄Π°Π»Π΅Π΅), ΠΈΠΌΠ΅ΡŽΡ‚ связанный с Π½ΠΈΠΌ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ являСтся ΠΏΠΎΠ΄ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΌ модуля Blender Π²Π΅Ρ€Ρ…Π½Π΅Π³ΠΎ уровня. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ поставляСт Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ для создания Π½ΠΎΠ²Ρ‹Ρ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ΠΈ поиска ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π΄Π°Π½Π½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° ΠΏΠΎ ΠΈΠΌΠ΅Π½ΠΈ. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ ΠΈΠΌΠ΅Π΅Ρ‚ Ρ‚Π°ΠΊΠΆΠ΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½Ρ‹ΠΉ класс с Ρ‚Π΅ΠΌ ΠΆΠ΅ ΠΈΠΌΠ΅Π½Π΅ΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ осущСствляСт Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ, ΡΠ²ΡΠ·Π°Π½Π½ΡƒΡŽ с ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠΌ Π‘Π»Π΅Π½Π΄Π΅Ρ€Π°.

Π—Π°ΠΌΠ΅Ρ‚ΡŒΡ‚Π΅, Ρ‡Ρ‚ΠΎ Π² Π‘Π»Π΅Π½Π΄Π΅Ρ€Π΅ Π΅ΡΡ‚ΡŒ сущности, Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ нСпосрСдствСнно Π²ΠΈΠ΄ΠΈΠΌΡ‹Π΅ Π½Π° вашСй сцСнС, ΠΊΠ°ΠΊ Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, мСши, Π»Π°ΠΌΠΏΡ‹, ΠΈΠ»ΠΈ ΠΊΠ°ΠΌΠ΅Ρ€Ρ‹ - ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹, Π½ΠΎ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Ρ‹, тСкстуры, систСмы частиц, ΠΈ Π΄Π°ΠΆΠ΅ IPO, дСйствия (Actions), ΠΌΠΈΡ€Ρ‹, ΠΈ сцСны.

ΠœΠ½ΠΎΠΆΠ΅ΡΡ‚Π²ΠΎ Π΄Ρ€ΡƒΠ³ΠΈΡ… Π²ΠΈΠ΄ΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ… Π² Π‘Π»Π΅Π½Π΄Π΅Ρ€Π΅ - Π½Π΅ ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠžΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ Π² ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠΈ Π‘Π»Π΅Π½Π΄Π΅Ρ€Π° (Π’Ρ‹ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΈΡ… ΠΈΠ· Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ .blend Ρ„Π°ΠΉΠ»Π° ΠΈΠ»ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°Ρ‚ΡŒ ΠΈΡ… ΠΏΠΎ вашСй сцСнС), Π½ΠΎ это ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ Π² ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠΈ ΠŸΠΈΡ‚ΠΎΠ½Π°. НапримСр, Π²Π΅Ρ€ΡˆΠΈΠ½Ρ‹, Ρ€Ρ‘Π±Ρ€Π°, ΠΈ Π³Ρ€Π°Π½ΠΈ Π²Π½ΡƒΡ‚Ρ€ΠΈ мСша Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Ρ‹ Π² Π²ΠΈΠ΄Π΅ классов: Blender.Mesh.MVert, Blender.Mesh.MEdge, ΠΈ Blender.Mesh.MFace соотвСтствСнно.

ΠœΠ½ΠΎΠΆΠ΅ΡΡ‚Π²ΠΎ ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΠΌΠ΅ΡŽΡ‚ свои собствСнныС ΠΏΠΎΠ΄ΠΌΠΎΠ΄ΡƒΠ»ΠΈ; Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠœΠΎΠ΄ΡƒΠ»ΡŒ Blender.Scene прСдоставляСт доступ ΠΊ контСксту Ρ€Π΅Π½Π΄Π΅Ρ€Π° посрСдством модуля Blender.Scene.Render. ΠœΠ΅ΠΆΠ΄Ρƒ ΠΏΡ€ΠΎΡ‡ΠΈΠΌ, этот ΠΌΠΎΠ΄ΡƒΠ»ΡŒ опрСдСляСт класс RenderData, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ позволяСт Π’Π°ΠΌ Ρ€Π΅Π½Π΄Π΅Ρ€ΠΈΡ‚ΡŒ Π½Π΅ΠΏΠΎΠ΄Π²ΠΈΠΆΠ½ΠΎΠ΅ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΈΠ»ΠΈ Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΡŽ.

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, с Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π·Π½Π°Π΅ΠΌ, ΠΌΠΎΠΆΠ½ΠΎ Π½Π°Ρ€ΠΈΡΠΎΠ²Π°Ρ‚ΡŒ Π΄Π²Π° Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… родословных Π΄Π΅Ρ€Π΅Π²Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π‘Π»Π΅Π½Π΄Π΅Ρ€Π°.




ΠŸΠ΅Ρ€Π²Π°Ρ ΠΈΠ»Π»ΡŽΡΡ‚Ρ€Π°Ρ†ΠΈΡ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, ΠΊΠ°ΠΊΠΎΠΉ Ρ‚ΠΈΠΏ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π‘Π»Π΅Π½Π΄Π΅Ρ€Π° ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒΡΡ Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΈΠ»ΠΈ ссылался Π½Π° Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π‘Π»Π΅Π½Π΄Π΅Ρ€Π°, Π² Π½Π΅ΠΉ ΠΌΡ‹ ограничимся ΠΌΠ΅Π½Π΅Π΅ абстрактными ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ:

ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎ, Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ° Π²Ρ‹ΡˆΠ΅ сильно ΡƒΠΏΡ€ΠΎΡ‰Π΅Π½Π°, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΌΡ‹ пропустили Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠ΅Π½Π΅Π΅ Π²Π°ΠΆΠ½Ρ‹Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹, ΠΈ Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½Π° ΠΈΠ»Π»ΡŽΡΡ‚Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ СдинствСнный Ρ‚ΠΈΠΏ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠΉ. ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎ, сущСствуСт Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ большС Ρ‚ΠΈΠΏΠΎΠ² ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠΉ Π² сцСнС, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡ Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒ-Ρ€Π΅Π±Π΅Π½ΠΎΠΊ ΠΈΠ»ΠΈ ограничСния (constraints).

ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠΎΠΏΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΏΡ€Π΅Π΄ΡˆΠ΅ΡΡ‚Π²ΡƒΡŽΡ‰ΡƒΡŽ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡƒ со ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ, которая ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π² ΠΊΠ°ΠΊΠΎΠΌ ΠΌΠΎΠ΄ΡƒΠ»Π΅ ΠΊΠ°ΠΊΠΎΠΉ Ρ‚ΠΈΠΏ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° (класс) ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½:




Различия вСсьма Π·Π°ΠΌΠ΅Ρ‚Π½Ρ‹, ΠΈ ΠΈΡ… Π²Π°ΠΆΠ½ΠΎ ΠΈΠΌΠ΅Ρ‚ΡŒ Π² Π²ΠΈΠ΄Ρƒ, особСнно ΠΏΡ€ΠΈ поискС ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ, содСрТащСйся Π² Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ Blender API. НС ΠΎΠΆΠΈΠ΄Π°ΠΉΡ‚Π΅, Ρ‡Ρ‚ΠΎ Π½Π°ΠΉΠ΄Ρ‘Ρ‚Π΅ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎΠ± ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π΅ Curve (ΠšΡ€ΠΈΠ²Π°Ρ) Π² Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ ΠΎ ΠΌΠΎΠ΄ΡƒΠ»Π΅ Blender.Object, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ кривая Π² Π‘Π»Π΅Π½Π΄Π΅Ρ€Π΅ являСтся спСцифичСским ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠΌ Π‘Π»Π΅Π½Π΄Π΅Ρ€Π°; класс Curve ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½ ΠΈ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ Π² ΠœΠΎΠ΄ΡƒΠ»Π΅ Blender.Curve. Π’ Ρ†Π΅Π»ΠΎΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΆΠΈΠ΄Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ докумСнтация класса находится Π² ΠΌΠΎΠ΄ΡƒΠ»Π΅ Ρ‚Π΅ΠΌ ΠΆΠ΅ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ.


ΠœΠΎΠ΄ΡƒΠ»ΡŒ bpy

ΠšΡ€ΠΎΠΌΠ΅ модуля Blender, Π΅ΡΡ‚ΡŒ Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ Π²Π΅Ρ€Ρ…Π½Π΅Π³ΠΎ уровня, с ΠΈΠΌΠ΅Π½Π΅ΠΌ bpy, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ обСспСчиваСт ΡƒΠ½ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ ΠΏΡƒΡ‚ΡŒ доступа ΠΊ Π΄Π°Π½Π½Ρ‹ΠΌ. Он считаСтся ΡΠΊΡΠΏΠ΅Ρ€ΠΈΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Ρ‹ΠΌ, Π½ΠΎ ΠΎΠ½ стабилСн ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ использован ΠΊΠ°ΠΊ Π±ΠΎΠ»Π΅Π΅ ΠΈΠ½Ρ‚ΡƒΠΈΡ‚ΠΈΠ²Π½Ρ‹ΠΉ ΠΏΡƒΡ‚ΡŒ доступа ΠΊ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌ. НапримСр, Ссли ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ ΠΈΠΌΠ΅Ρ‚ΡŒ доступ ΠΊ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρƒ с ΠΈΠΌΠ΅Π½Π΅ΠΌ MyObject, ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ ΠΌΡ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π΄Π΅ΠΉΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ±Π»ΠΈΠ·ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Ρ‚Π°ΠΊ:

import Blender

ob = Blender.Object.Get(name='MyObject')

Π‘ ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΌ bpy ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠ΅Ρ€Π΅Ρ„Ρ€Π°Π·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ это Ρ‚Π°ΠΊ:

import bpy

ob = bpy.data.objects['MyObject']

Π’Π°ΠΊ ΠΆΠ΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ ΠΊ Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΌΡƒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρƒ сцСны, ΠΌΡ‹ ΠΌΠΎΠ³Π»ΠΈ Π±Ρ‹ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ это:

import Blender

scene = Blender.Scene.GetCurrent()

Π§Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹ΠΌ способом:

import bpy

scene = bpy.data.scenes.active

Π§Ρ‚ΠΎ ΠΈΠ· Π½ΠΈΡ… ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ - Π΄Π΅Π»ΠΎ вкуса. ΠœΠΎΠ΄ΡƒΠ»ΡŒ bpy Π±ΡƒΠ΄Π΅Ρ‚ СдинствСнным способом доступа ΠΊ Π΄Π°Π½Π½Ρ‹ΠΌ Π² ΠΎΠΆΠΈΠ΄Π°Π΅ΠΌΠΎΠΌ Π‘Π»Π΅Π½Π΄Π΅Ρ€Π΅ 2.5, Π½ΠΎ измСнСния Π² Π‘Π»Π΅Π½Π΄Π΅Ρ€Π΅ 2.5 ΠΏΡ€ΠΎΠ½ΠΈΠΊΠ°ΡŽΡ‚ Π³Π»ΡƒΠ±ΠΆΠ΅, Ρ‡Π΅ΠΌ просто Ρ‚Π°ΠΊΠΎΠΉ способ доступа ΠΊ Π΄Π°Π½Π½Ρ‹ΠΌ, Ρ‚Π°ΠΊ Π½Π΅ ΠΎΠ±ΠΌΠ°Π½ΠΈΡ‚Π΅ΡΡŒ повСрхностным сходством ΠΈΠΌΠ΅Π½ΠΈ ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ!


РисованиС Π½Π° экранС

Доступ ΠΊ систСмС ΠΎΠΊΠΎΠ½ Π‘Π»Π΅Π½Π΄Π΅Ρ€Π° прСдоставлСн ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΌ Blender.Draw. Π—Π΄Π΅ΡΡŒ Π’Ρ‹ Π½Π°ΠΉΠ΄Ρ‘Ρ‚Π΅ классы ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ для опрСдСлСния ΠΊΠ½ΠΎΠΏΠΎΠΊ ΠΈ ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰ΠΈΡ… мСню, ΠΈ ΠΏΡƒΡ‚ΠΈ взаимодСйствия с ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ. Π’ΠΈΠΏΡ‹ графичСских элСмСнтов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΡ‚ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ΡŒ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ  Draw, ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Ρ‹ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΌΠΈ, ΠΈ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹.

Π‘ΠΎΠ»Π΅Π΅ ΠΏΠ΅Ρ€Π΅Π΄ΠΎΠ²Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ прСдоставлСны Π² ΠΌΠΎΠ΄ΡƒΠ»Π΅ Blender.BGL, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π΄Π°Π΅Ρ‚ Π’Π°ΠΌ доступ фактичСски ΠΊΠΎ всСм функциям ΠΈ константам OpenGL, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠΌ Π’Π°ΠΌ Ρ€ΠΈΡΠΎΠ²Π°Ρ‚ΡŒ Π½Π° экранС ΠΏΠΎΡ‡Ρ‚ΠΈ всё, Ρ‡Ρ‚ΠΎ ΡƒΠ³ΠΎΠ΄Π½ΠΎ, ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ΡŒ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ с ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ мноТСством Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… способов.


 Π£Ρ‚ΠΈΠ»ΠΈΡ‚Ρ‹

НаконСц, Π΅ΡΡ‚ΡŒ мноТСство ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ, Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰ΠΈΡ… Ρ€Π°Π·Π»ΠΈΡ‡Π½ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ подходят для любой ΠΈΠ· ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΡ… ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΉ: