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

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

Автор Michel Anders

Π”Π°Π²Π°ΠΉΡ‚Π΅ напишСм Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°! Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π½Π°Π±Ρ€Π°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ строки нСпосрСдствСнно Π² ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½ΡƒΡŽ консоль ΠŸΠΈΡ‚ΠΎΠ½Π°, ΠΈΠ»ΠΈ Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π½Π°Π±Ρ€Π°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ тСкст Π² тСкстовом Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π΅ Π‘Π»Π΅Π½Π΄Π΅Ρ€Π°, ΠΈ Π·Π°Ρ‚Π΅ΠΌ Π½Π°ΠΆΠ°Ρ‚ΡŒ Alt + P, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ скрипт. Π­Ρ‚ΠΎ - ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΈΠΉ скрипт, Π½ΠΎ ΠΌΡ‹ ΠΏΡ€ΠΎΠΉΠ΄Π΅ΠΌ Ρ‡Π΅Ρ€Π΅Π· Π½Π΅Π³ΠΎ довольно ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½ ΠΎΡ‚ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ мноТСство ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Ρ… аспСктов API ΠŸΠΈΡ‚ΠΎΠ½Π° Π² Π‘Π»Π΅Π½Π΄Π΅Ρ€Π΅.

#!BPY

import Blender

from Blender import Scene, Text3d, Window

hello = Text3d.New("HelloWorld")

hello.setText("Hello World!")

scn = Scene.GetCurrent()

ob = scn.objects.new(hello)

Window.RedrawAll()

ΠŸΠ΅Ρ€Π²Π°Ρ строка ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΡ†ΠΈΡ€ΡƒΠ΅Ρ‚ этот скрипт ΠΊΠ°ΠΊ скрипт Π‘Π»Π΅Π½Π΄Π΅Ρ€Π°. Она Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Π° для запуска скрипта, Π½ΠΎ Ссли ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ Π±Ρ‹Ρ‚ΡŒ способными ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ этот скрипт Ρ‡Π°ΡΡ‚ΡŒΡŽ структуры мСню Π‘Π»Π΅Π½Π΄Π΅Ρ€Π°, Π½Π°ΠΌ ΠΎΠ½Π° Π½ΡƒΠΆΠ½Π°, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ Π»ΡƒΡ‡ΡˆΠ΅ ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΏΡ€ΠΈΠ²Ρ‹ΠΊΠ°Ρ‚ΡŒ ΠΊ этому сразу.

Π’Ρ‹ Π½Π°ΠΉΠ΄Π΅Ρ‚Π΅ Π²Ρ‚ΠΎΡ€ΡƒΡŽ строку (которая Π²Ρ‹Π΄Π΅Π»Π΅Π½Π°) фактичСски Π² любом скриптС Π‘Π»Π΅Π½Π΄Π΅Ρ€Π°, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΎΠ½Π° Π΄Π°Π΅Ρ‚ Π½Π°ΠΌ доступ ΠΊ классам ΠΈ функциям API ΠŸΠΈΡ‚ΠΎΠ½Π° Π² Π‘Π»Π΅Π½Π΄Π΅Ρ€Π΅. Подобно Π΅ΠΉ, Ρ‚Ρ€Π΅Ρ‚ΡŒΡ строка Π΄Π°Π΅Ρ‚ Π½Π°ΠΌ доступ ΠΊ спСцифичСским подмодулям модуля Blender, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π°ΠΌ Π½ΡƒΠΆΠ½Ρ‹ Π² этом скриптС. ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎ, ΠΌΡ‹ ΠΌΠΎΠ³Π»ΠΈ Π±Ρ‹ ΠΈΠΌΠ΅Ρ‚ΡŒ доступ ΠΊ Π½ΠΈΠΌ ΠΊΠ°ΠΊ ΠΊ Ρ‡Π»Π΅Π½Π°ΠΌ модуля Blender  (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Blender.Scene), Π½ΠΎ явный ΠΈΠΌΠΏΠΎΡ€Ρ‚ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΡƒΠΌΠ΅Π½ΡŒΡˆΠΈΡ‚ количСство ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ тСкста ΠΈ повысит ΡƒΠ΄ΠΎΠ±ΠΎΡ‡ΠΈΡ‚Π°Π΅ΠΌΠΎΡΡ‚ΡŒ.

Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Π΄Π²Π΅ строки сначала ΡΠΎΠ·Π΄Π°ΡŽΡ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Text3d ΠΈ Π½Π°Π·Π½Π°Ρ‡Π°ΡŽΡ‚ Π΅Π³ΠΎ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ hello. ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Text3d Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ Π² Π‘Π»Π΅Π½Π΄Π΅Ρ€Π΅ имя HelloWorld, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΡΡΡ‹Π»Π°Ρ‚ΡŒΡΡ Π½Π° этот ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΏΠΎ этому ΠΈΠΌΠ΅Π½ΠΈ. Π’Π°ΠΊΠΆΠ΅ это имя, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ Π²ΠΈΠ΄Π½ΠΎ Π² ΠΎΠΊΠ½Π΅ Outliner, ΠΈ Π² Π»Π΅Π²ΠΎΠΌ Π½ΠΈΠΆΠ½Π΅ΠΌ ΡƒΠ³Π»Ρƒ, Ссли Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚. Если Ρ‚Π°ΠΌ ΡƒΠΆΠ΅ сущСствуСт ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΎΠ³ΠΎ ΠΆΠ΅ самого Ρ‚ΠΈΠΏΠ° с этим ΠΈΠΌΠ΅Π½Π΅ΠΌ, Π‘Π»Π΅Π½Π΄Π΅Ρ€ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ Ρ†ΠΈΡ„Ρ€ΠΎΠ²ΠΎΠΉ суффикс ΠΊ ΠΈΠΌΠ΅Π½ΠΈ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π΅Π³ΠΎ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΌ. НапримСр, HelloWorld ΠΌΠΎΠ³ Π±Ρ‹ ΡΡ‚Π°Ρ‚ΡŒ HelloWord.001, Ссли ΠΌΡ‹ запустим этот скрипт Π΄Π²Π°ΠΆΠ΄Ρ‹.

По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ, вновь созданный ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Text3d Π±ΡƒΠ΄Π΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ тСкст Text, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ ΠΌΡ‹ измСняСм Π΅Π³ΠΎ Π½Π° Hello World! с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° setText().

Π’Π½ΠΎΠ²ΡŒ созданный Π² Π‘Π»Π΅Π½Π΄Π΅Ρ€Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π½Π΅ Π²ΠΈΠ΄ΠΈΠΌ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ, ΠΌΡ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡΠΎΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒ Π΅Π³ΠΎ со Π‘Ρ†Π΅Π½ΠΎΠΉ, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ нСсколько ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… строк ΠΈΠ·Π²Π»Π΅ΠΊΠ°ΡŽΡ‚ ссылку Π½Π° Ρ‚Π΅ΠΊΡƒΡ‰ΡƒΡŽ сцСну ΠΈ Π΄ΠΎΠ±Π°Π²Π»ΡΡŽΡ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Text3d Π² Π½Π΅Ρ‘. ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Text3d Π½Π΅ добавляСтся нСпосрСдствСнно ΠΊ сцСнС, Π½ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄ scene.objects.new() вставляСт ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Text3d Π² ΠΎΠ±Ρ‰ΠΈΠΉ (generic) ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π‘Π»Π΅Π½Π΄Π΅Ρ€Π° ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ссылку Π½Π° послСдний. ΠžΠ±Ρ‰ΠΈΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π‘Π»Π΅Π½Π΄Π΅Ρ€Π° Ρ…Ρ€Π°Π½ΠΈΡ‚ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ, ΠΎΠ±Ρ‰ΡƒΡŽ для всСх ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², Ρ‚Π°ΠΊΡƒΡŽ ΠΊΠ°ΠΊ позиция, Π² Ρ‚ΠΎ врСмя ΠΊΠ°ΠΊ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Text3d Ρ…Ρ€Π°Π½ΠΈΡ‚ ΡΠΏΠ΅Ρ†ΠΈΡ„ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ, ΠΊΠ°ΠΊ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΡˆΡ€ΠΈΡ„Ρ‚ тСкста.

НаконСц, ΠΌΡ‹ сообщаСм ΠΎΠΊΠΎΠ½Π½ΠΎΠΌΡƒ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€Ρƒ ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ всС ΠΎΠΊΠ½Π°, это ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ Π½ΡƒΠΆΠ½ΠΎ ΠΈΠ·-Π·Π° добавлСния Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°.


Π’Π½Π΅Π΄Ρ€Π΅Π½ΠΈΠ΅ скрипта Π² мСню Π‘Π»Π΅Π½Π΄Π΅Ρ€Π°

Π’Π°Ρˆ собствСнный скрипт Π½Π΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ Π³Ρ€Π°ΠΆΠ΄Π°Π½ΠΈΠ½ΠΎΠΌ Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ сорта. Π•Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Ρ‡Π°ΡΡ‚ΡŒΡŽ Π‘Π»Π΅Π½Π΄Π΅Ρ€Π° Π½Π°Ρ€Π°Π²Π½Π΅ с Π»ΡŽΠ±Ρ‹ΠΌ ΠΈΠ· скриптов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ΡΡ с Π‘Π»Π΅Π½Π΄Π΅Ρ€ΠΎΠΌ. Π•Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊ мСню Add (Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ) Π² Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ΅ Π½Π°Π²Π΅Ρ€Ρ…Ρƒ ΠΎΠΊΠ½Π° 3D-Π²ΠΈΠ΄Π°.

На самом Π΄Π΅Π»Π΅ мСню Add присутствуСт Π² Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ΅ Π²Π½ΠΈΠ·Ρƒ ΠΎΠΊΠ½Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΡ… настроСк, Π½ΠΎ Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ это ΠΎΠΊΠ½ΠΎ располоТСно Π²Ρ‹ΡˆΠ΅ ΠΎΠΊΠ½Π° 3D-Π²ΠΈΠ΄Π°, ΠΈ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½ΠΎ ΠΈΠΌΠ΅Π½Π½ΠΎ Π΄ΠΎ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ°, ΠΎΠ½ΠΎ выглядит Ρ‚Π°ΠΊ, ΠΊΠ°ΠΊ Π±ΡƒΠ΄Ρ‚ΠΎ ΠΎΠ½ΠΎ являСтся Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΎΠΌ свСрху ΠΎΠΊΠ½Π° 3D-Π²ΠΈΠ΄Π°. ΠœΠ½ΠΎΠΆΠ΅ΡΡ‚Π²ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ Ρ‚Π°ΠΊ ΠΏΡ€ΠΈΠ²Ρ‹ΠΊΠ»ΠΈ ΠΊ этому, Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΈ видят Π΅Π³ΠΎ ΠΊΠ°ΠΊ Ρ‡Π°ΡΡ‚ΡŒ ΠΎΠΊΠ½Π° 3D-Π²ΠΈΠ΄Π°.

Он ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ систСмС ΠΏΠΎΠΌΠΎΡ‰ΠΈ Π‘Π»Π΅Π½Π΄Π΅Ρ€Π° Ρ‚Π°ΠΊΠΆΠ΅, ΠΊΠ°ΠΊ любой Π΄Ρ€ΡƒΠ³ΠΎΠΉ скрипт. Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ нСсколько строк ΠΊΠΎΠ΄Π° Π΄Π΅Π»Π°ΡŽΡ‚ это Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹ΠΌ:

"""

Name: 'HelloWorld'

Blender: 249

Group: 'AddMesh'

Tip: 'Create a Hello World text object'

"""

ΠœΡ‹ запускаСм скрипт с Π°Π²Ρ‚ΠΎΠ½ΠΎΠΌΠ½Ρ‹ΠΌ строковым ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠΌ, фактичСски состоящим ΠΈΠ· Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… строк. КаТдая   строка   начинаСтся   с   ΠΌΠ΅Ρ‚ΠΊΠΈ, сопровоТдаСмой Π΄Π²ΠΎΠ΅Ρ‚ΠΎΡ‡ΠΈΠ΅ΠΌ ΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ. Π”Π²ΠΎΠ΅Ρ‚ΠΎΡ‡ΠΈΠ΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚ΡŒ Π·Π° ΠΌΠ΅Ρ‚ΠΊΠΎΠΉ Π½Π΅ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ. Π’Π°ΠΌ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ Π½ΠΈΠΊΠ°ΠΊΠΈΡ… ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ±Π΅Π»ΠΎΠ², Π² ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ случаС наш скрипт Π½Π΅ появится Π½ΠΈ Π² ΠΊΠ°ΠΊΠΎΠΌ мСню. ΠœΠ΅Ρ‚ΠΊΠΈ Π² Π½Π°Ρ‡Π°Π»Π΅ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ строки слуТат ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ цСлям:

β€’ Name (строка) опрСдСляСт имя скриптов Ρ‚Π°ΠΊ, ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ появятся Π² мСню

β€’ Blender (число) опрСдСляСт минимально Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ Π‘Π»Π΅Π½Π΄Π΅Ρ€Π° для использования скрипта

β€’ Group (строка) - подмСню Π² мСню скриптов, ΠΏΠΎΠ΄ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ этот скрипт Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ сгруппирован

Если наши скрипты Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΠΎΡΠ²ΠΈΡ‚ΡŒΡΡ Π² мСню Add | Mesh Π² ΠΎΠΊΠ½Π΅ 3D-Π²ΠΈΠ΄Π° (Ρ‚Π°ΠΊΠΆΠ΅ доступного ΠΏΠΎ Π½Π°ΠΆΠ°Ρ‚ΠΈΡŽ ΠŸΡ€ΠΎΠ±Π΅Π»Π°), этот ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ AddMesh. Если Π±Ρ‹Π»ΠΎ Π±Ρ‹ Π½ΡƒΠΆΠ½ΠΎ Π΄Ρ€ΡƒΠ³ΠΎΠ΅ подмСню Π² мСню скриптов, Ρ‚ΠΎ Ρ‚ΡƒΡ‚ ΠΌΠΎΠ³Π»ΠΎ Π±Ρ‹ Π±Ρ‹Ρ‚ΡŒ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Wizards ΠΈΠ»ΠΈ Object. ΠšΡ€ΠΎΠΌΠ΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Ρ… ΠΌΠ΅Ρ‚ΠΎΠΊ, ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΌΠ΅Ρ‚ΠΊΠΈ:

β€’ Version (строка) - вСрсия скрипта Π² любом ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡ΠΈΡ‚Π°Π΅ΠΌΠΎΠΌ Π²Π°ΠΌΠΈ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅.

β€’ Tip (строка) β€” информация, показываСмая Π² подсказкС, ΠΏΠΎΡΠ²Π»ΡΡŽΡ‰Π΅ΠΉΡΡ Π½Π°Π΄ ΠΏΡƒΠ½ΠΊΡ‚ΠΎΠΌ мСню Π² мСню Π‘ΠΊΡ€ΠΈΠΏΡ‚ΠΎΠ². Если скрипт ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠΈΡ‚ Π³Ρ€ΡƒΠΏΠΏΠ΅ AddMesh, Π½ΠΈΠΊΠ°ΠΊΠΈΡ… подсказок ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒΡΡ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚, Π΄Π°ΠΆΠ΅ Ссли ΠΌΡ‹ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΠΌ Π΅Ρ‘ здСсь.




 Π’Π½Π΅Π΄Ρ€Π΅Π½ΠΈΠ΅ скрипта Π² систСму ΠΏΠΎΠΌΠΎΡ‰ΠΈ Π‘Π»Π΅Π½Π΄Π΅Ρ€Π°

Π‘Π»Π΅Π½Π΄Π΅Ρ€ ΠΈΠΌΠ΅Π΅Ρ‚ Π²ΡΡ‚Ρ€ΠΎΠ΅Π½Π½ΡƒΡŽ систСму подсказки, которая доступна Π² мСню Help Π½Π°Π²Π΅Ρ€Ρ…Ρƒ экрана. Оно Π΄Π°Π΅Ρ‚ доступ ΠΊ ΠΎΠ½Π»Π°ΠΉΠ½-рСсурсам ΠΈ ΠΊ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎ зарСгистрированных скриптах Ρ‡Π΅Ρ€Π΅Π· ΠΏΡƒΠ½ΠΊΡ‚ Scripts Help Browser (Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΠΏΠΎ скриптам). Если Π΅Π³ΠΎ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ, появятся Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΠ΅ мСню для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π³Ρ€ΡƒΠΏΠΏΡ‹, Π³Π΄Π΅ Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ скрипт ΠΈ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π΅Π³ΠΎ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΏΠΎΠΌΠΎΡ‰ΠΈ.

Если ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ ввСсти наш скрипт Π²ΠΎ Π²ΡΡ‚Ρ€ΠΎΠ΅Π½Π½ΡƒΡŽ систСму ΠΏΠΎΠΌΠΎΡ‰ΠΈ, Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ нСсколько Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹Ρ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…:

__author__    = "Michel Anders (varkenvarken)"

__version__   = "1.00 2009/08/01"

__copyright__ = "(c) 2009"

__url__       = ["author's site,

http://www.swineworld.org"]

__doc__       = """

A simple script to add a Blender Text object to a scene.

It takes no parameters and initializes the object to

contain the text 'Hello World'

"""

ΠŸΠ΅Ρ€Π΅Π²ΠΎΠ΄ строки __doc__: ΠŸΡ€ΠΎΡΡ‚ΠΎΠΉ скрипт для добавлСния тСкстового ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Π‘Π»Π΅Π½Π΄Π΅Ρ€Π° Π² сцСну. Он Π½Π΅ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ Π½ΠΈΠΊΠ°ΠΊΠΈΡ… ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² ΠΈ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, содСрТащий тСкст 'Hello World'

Π­Ρ‚ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Π½Π΅ Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ Ρ€Π°Π·ΡŠΡΡΠ½Π΅Π½ΠΈΠΉ, Π·Π° ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ __url__, - ΠΎΠ½Π°  ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ список строк, Π³Π΄Π΅ каТдая строка состоит ΠΈΠ· ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΎΠ³ΠΎ описания, запятой, ΠΈ ссылки. Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ экран ΠΏΠΎΠΌΠΎΡ‰ΠΈ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ ΠΏΠΎΡ…ΠΎΠΆΠΈΠΌ Π½Π° это:




Π’Π΅ΠΏΠ΅Ρ€ΡŒ всС, Ρ‡Ρ‚ΠΎ Π½Π°ΠΌ ΠΎΡΡ‚Π°Π»ΠΎΡΡŒ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ, это ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ Π΅Π³ΠΎ ΠΈ ΠΏΠΎΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ этот скрипт Π² Π½ΡƒΠΆΠ½ΠΎΠΌ мСстС. ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΡ€ΠΎΡ‚Π΅ΡΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ скрипт, Π½Π°ΠΆΠ°Π² Alt + P. Если Π½Π΅ ΡΡ‚ΠΎΠ»ΠΊΠ½ΡƒΠ»ΠΈΡΡŒ Π½ΠΈ с ΠΊΠ°ΠΊΠΈΠΌΠΈ ошибками, Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠΌ Π±ΡƒΠ΄Π΅Ρ‚ наш ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Hello World Text3d, Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π½Ρ‹ΠΉ ΠΊ сцСнС, Π½ΠΎ скрипт Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠΊΠ° Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ Π² мСню Add.

Если скрипт Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ ΠΊ мСню Add, ΠΎΠ½ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ скриптов Π‘Π»Π΅Π½Π΄Π΅Ρ€Π°. Для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ это, сначала сохранитС скрипт, находящийся Π² тСкстовом Π±ΡƒΡ„Π΅Ρ€Π΅, Π² Ρ„Π°ΠΉΠ» со Π·Π½Π°Ρ‡ΠΈΠΌΡ‹ΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ. Π—Π°Ρ‚Π΅ΠΌ, ΡƒΠ±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ этот Ρ„Π°ΠΉΠ» располоТСн Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ скриптов Π‘Π»Π΅Π½Π΄Π΅Ρ€Π°. Π­Ρ‚ΠΎΡ‚ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ называСтся scripts ΠΈ являСтся ΠΏΠΎΠ΄ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΎΠΌ Π² .blender, ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ Π‘Π»Π΅Π½Π΄Π΅Ρ€Π°. Он располоТСн Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ установки Π‘Π»Π΅Π½Π΄Π΅Ρ€Π° ΠΈΠ»ΠΈ (Π½Π° Windows) Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ Application Data. ΠŸΡ€ΠΎΡΡ‚Π΅ΠΉΡˆΠΈΠΉ способ Π½Π°ΠΉΡ‚ΠΈ свой - просто ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ снова Π½Π° ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ sys.path, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ, ΠΊΡƒΠ΄Π° ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³, Π·Π°ΠΊΠ°Π½Ρ‡ΠΈΠ²Π°ΡŽΡ‰ΠΈΠΉΡΡ Π½Π° .blender\scripts.

Π‘ΠΊΡ€ΠΈΠΏΡ‚Ρ‹, располоТСнныС Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ скриптов Π‘Π»Π΅Π½Π΄Π΅Ρ€Π°, автоматичСски Π±ΡƒΠ΄ΡƒΡ‚ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Ρ‹ ΠΏΡ€ΠΈ запускС, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ наш скрипт hello world Π±ΡƒΠ΄Π΅Ρ‚ доступСн Π² любоС врСмя, ΠΊΠΎΠ³Π΄Π° ΠΌΡ‹ запустим Π‘Π»Π΅Π½Π΄Π΅Ρ€. Если ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π‘Π»Π΅Π½Π΄Π΅Ρ€ пСрСсмотрСл ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ скриптов (Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π°ΠΌ Π½Π΅ ΠΏΡ€ΠΈΡˆΠ»ΠΎΡΡŒ ΠΏΠ΅Ρ€Π΅Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ Π‘Π»Π΅Π½Π΄Π΅Ρ€ для появлСния нашСго Π½ΠΎΠ²ΠΎΠ³ΠΎ дополнСния), ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Scripts | Update Menus Π² ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΉ консоли.


НС Π·Π°ΠΏΡƒΡ‚Π°ΠΉΡ‚Π΅ΡΡŒ, ΠΎΡΡ‚Π°Π²Π°ΠΉΡ‚Π΅ΡΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΌ

Как Π’Ρ‹ ΠΌΠΎΠ³Π»ΠΈ ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, слово ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² Π΄Π²ΡƒΡ… Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… (Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π·Π°ΠΏΡƒΡ‚Π°Π½Π½ΠΎ) случаях. Π’ Π‘Π»Π΅Π½Π΄Π΅Ρ€Π΅ ΠΏΠΎΡ‡Ρ‚ΠΈ всС называСтся Object. Π›Π°ΠΌΠΏΠ° (Lamp), Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ - Object, Π½ΠΎ Ρ‚ΠΎΡ‡Π½ΠΎ Ρ‚Π°ΠΊ ΠΆΠ΅ ΠΈΠΌ ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠšΡƒΠ± (Cube) ΠΈΠ»ΠΈ ΠšΠ°ΠΌΠ΅Ρ€Π° (Camera). ΠžΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ - Π²Π΅Ρ‰ΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΌΠ°Π½ΠΈΠΏΡƒΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ, ΠΈ ΠΎΠ½ΠΈ ΠΈΠΌΠ΅ΡŽΡ‚, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ ΠΈ Π²Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅.

ЀактичСски, всё нСсколько Π±ΠΎΠ»Π΅Π΅ структурировано (ΠΈΠ»ΠΈ услоТнСно, ΠΊΠ°ΠΊ говорят Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅): любой ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π‘Π»Π΅Π½Π΄Π΅Ρ€Π° содСрТит ссылку Π½Π° Π±ΠΎΠ»Π΅Π΅ спСцифичСский ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹ΠΉ Π±Π»ΠΎΠΊ Π΄Π°Π½Π½Ρ‹Ρ… (data block). Когда Π’Ρ‹ добавляСтС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠšΡƒΠ± Π² ΠΏΡƒΡΡ‚ΡƒΡŽ сцСну, Ρƒ вас Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠ±Ρ‰ΠΈΠΉ (generic) ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ. Π­Ρ‚ΠΎΡ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π±ΡƒΠ΄Π΅Ρ‚ Π½Π°Π·Π²Π°Π½ Cube ΠΈ Π±ΡƒΠ΄Π΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ ссылку Π½Π° Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, МСш (Mesh). Π­Ρ‚ΠΎ МСш-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚Π°ΠΊΠΆΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ Π½Π°Π·Π²Π°Π½ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Cube, Π½ΠΎ это - Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ пространства ΠΈΠΌΡ‘Π½ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° Ρ€Π°Π·Π΄Π΅Π»ΡŒΠ½Ρ‹.