import Blender
def setlayer(ob):
layer = 1+int(Blender.Get('curframe')/25.0)%2
ob.layers = [ layer ]
ob.makeDisplayList()
Blender.Window.RedrawAll()
if Blender.bylink and Blender.event == 'FrameChanged':
setlayer(Blender.link)
ΠΠ°ΠΊ ΠΈ Π² Π½Π°ΡΠ΅ΠΌ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅ΠΌ ΡΠΊΡΠΈΠΏΡΠ΅, ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠ΅ ΡΡΡΠΎΠΊΠΈ Π½Π°ΡΠ΅Π³ΠΎ ΡΠΊΡΠΈΠΏΡΠ° ΠΏΡΠΎΠ²Π΅ΡΡΡΡ, ΡΡΠΎ ΠΎΠ½ Π±ΡΠ» Π²ΡΠ·Π²Π°Π½ ΠΊΠ°ΠΊ ΡΠΊΡΠΈΠΏΡΡΠ²ΡΠ·Ρ ΠΈ ΠΏΠΎ ΡΠΎΠ±ΡΡΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΊΠ°Π΄ΡΠΎΠ², ΠΈ Π΅ΡΠ»ΠΈ ΡΡΠΎ ΡΠ°ΠΊ, ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ ΡΠ²ΡΠ·Π°Π½Π½ΡΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ Π² ΡΡΠ½ΠΊΡΠΈΡ setlayer(). (Π‘ΠΊΡΠΈΠΏΡ Π΄ΠΎΡΡΡΠΏΠ΅Π½ ΠΊΠ°ΠΊ OddEvenScriptlink.py Π² ΡΠ°ΠΉΠ»Π΅ scriptlinks.blend.)
ΠΡΠ΅, ΡΡΠΎ ΠΎΡΡΠ°Π»ΠΎΡΡ ΡΠ΄Π΅Π»Π°ΡΡ, ΡΡΠΎ Π½Π°Π·Π½Π°ΡΠΈΡΡ ΡΠΊΡΠΈΠΏΡ ΠΊΠ°ΠΊ ΡΠΊΡΠΈΠΏΡΡΠ²ΡΠ·Ρ (scriptlink) Π²ΡΠ±ΡΠ°Π½Π½ΠΎΠΌΡ ΠΎΠ±ΡΠ΅ΠΊΡΡ. Π‘Π½ΠΎΠ²Π°, ΡΡΠΎ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Π² ΠΠΊΠ½Π΅ ΠΠ½ΠΎΠΏΠΎΠΊ | ΠΏΠ°Π½Π΅Π»Ρ Script, ΡΠ΅Π»ΠΊΠ°Ρ ΠΏΠΎ ΠΊΠ½ΠΎΠΏΠΊΠ΅ Enabling Script Links Π² ΠΏΠ°Π½Π΅Π»ΠΈ Scriptlinks (Π΅ΡΠ»ΠΈ ΡΡΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ, ΠΎΠ½Π° ΠΌΠΎΠ³Π»Π° Π²ΡΠ΅ Π΅ΡΡ Π±ΡΡΡ Π²ΡΠ±ΡΠ°Π½Π½ΠΎΠΉ ΠΏΠΎΡΠ»Π΅ Π½Π°ΡΠ΅Π³ΠΎ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅Π³ΠΎ ΠΏΡΠΈΠΌΠ΅ΡΠ°. ΠΡΠΎ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΡΠΉ Π²ΡΠ±ΠΎΡ, ΡΠΎ Π΅ΡΡΡ, Π²ΠΊΠ»ΡΡΠ΅Π½ΠΎ ΠΈΠ»ΠΈ Π²ΡΠΊΠ»ΡΡΠ΅Π½ΠΎ Π΄Π»Ρ Π²ΡΠ΅Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ²). ΠΠ° ΡΡΠΎΡ ΡΠ°Π· ΠΌΡ Π²ΡΠ±ΠΈΡΠ°Π΅ΠΌ ΡΠΊΡΠΈΠΏΡΡΠ²ΡΠ·ΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠ° Π²ΠΌΠ΅ΡΡΠΎ ΡΠΊΡΠΈΠΏΡΡΠ²ΡΠ·Π΅ΠΉ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»Π° ΠΈ ΡΠ΅Π»ΠΊΠ°Π΅ΠΌ Π½Π° New, ΡΡΠΎΠ±Ρ Π²ΡΠ±ΡΠ°ΡΡ OddEvenScriptlink.py ΠΈΠ· Π²ΡΠΏΠ°Π΄Π°ΡΡΠ΅Π³ΠΎ ΡΠΏΠΈΡΠΊΠ°.
ΠΠ±ΡΠ°ΡΠ½ΡΠΉ ΠΎΡΡΡΠ΅Ρ - Π°Π½ΠΈΠΌΠ°ΡΠΈΡ ΡΠ°ΠΉΠΌΠ΅ΡΠ° Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠΊΡΠΈΠΏΡΡΠ²ΡΠ·ΠΈ
ΠΠ΄Π½Π° ΠΈΠ· Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΊΡΠΈΠΏΡΡΠ²ΡΠ·ΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π΄Π΅ΠΉΡΡΠ²ΡΡΡ ΠΏΡΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ ΠΊΠ°Π΄ΡΠΎΠ² - Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΌΠΎΠ΄ΠΈΡΠΈΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠ΅ΠΊΡΡΠΈΠΉ ΠΌΠ΅Ρ, ΠΈΠ»ΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π²Π΅ΡΡΠΈΠ½ ΠΠ΅Ρ-ΠΎΠ±ΡΠ΅ΠΊΡΠ°, ΠΈΠ»ΠΈ ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²ΠΎΠΌ Π°ΡΡΠΎΡΠΈΠΈΠ°ΡΠΈΠΈ Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠΌ ΠΠ»Π΅Π½Π΄Π΅ΡΠ° ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ Π΄ΡΡΠ³ΠΎΠ³ΠΎ ΠΌΠ΅ΡΠ°. ΠΡΠΎ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ IPO, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Ρ ΠΊΠ»ΡΡΠ°ΠΌΠΈ ΡΠΎΡΠΌΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠ½ΡΠ΅ΡΠΏΠΎΠ»ΠΈΡΡΡΡΡΡ ΠΌΠ΅ΠΆΠ΄Ρ ΠΏΡΠ΅Π΄ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΡΠΌΠΈ ΡΠΎΡΠΌΠ°ΠΌΠΈ Ρ ΡΠΎΠΉ ΠΆΠ΅ ΡΠΎΠΏΠΎΠ»ΠΎΠ³ΠΈΠ΅ΠΉ ΠΌΠ΅ΡΠ° (ΡΠΎ ΠΆΠ΅ ΡΠΈΡΠ»ΠΎ Π²Π΅ΡΡΠΈΠ½, ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½Π½ΡΡ ΡΠ°ΠΊΠΈΠΌ ΠΆΠ΅ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ). ΠΡΠΎ ΠΈΡΡΠΈΠ½Π½ΠΎ ΡΠ°ΠΊΠΆΠ΅ Π΄Π»Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² ΠΊΡΠΈΠ²ΡΡ ΠΈ ΡΠ΅ΠΊΡΡΠ°.
ΠΠ΄Π½ΠΈΠΌ ΠΈΠ· ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΡΡΠΎΠΉ ΡΠ΅Ρ Π½ΠΈΠΊΠΈ Π±ΡΠ΄Π΅Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΠ° ΡΡΠ΅ΡΡΠΈΠΊΠ°, ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΡΠΎΠ±ΡΠ°Π·ΠΈΡ Π²ΡΠ΅ΠΌΡ Π² ΡΠ΅ΠΊΡΠ½Π΄Π°Ρ Ρ ΡΠ΅Ρ ΠΏΠΎΡ, ΠΊΠ°ΠΊ Π½Π°ΡΠ°Π»Π°ΡΡ Π°Π½ΠΈΠΌΠ°ΡΠΈΡ. ΠΡΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ ΡΠ΅ΠΊΡΡΠ° ΠΎΠ±ΡΠ΅ΠΊΡΠ° Text3d Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π΅Π³ΠΎ ΠΌΠ΅ΡΠΎΠ΄Π° setText(). Π€ΡΠ½ΠΊΡΠΈΡ setcounter() Π² ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΠΊΠΎΠ΄Π΅ Π΄Π΅Π»Π°Π΅Ρ ΠΊΠ°ΠΊ ΡΠ°Π· ΡΡΠΎ Π²ΠΌΠ΅ΡΡΠ΅ Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠΌΠΈ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠΌΠΈ, ΡΡΠΎΠ±Ρ ΡΠΊΠΎΡΡΠ΅ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π² ΠΠ»Π΅Π½Π΄Π΅ΡΠ΅. (Π‘ΠΊΡΠΈΠΏΡ Π΄ΠΎΡΡΡΠΏΠ΅Π½ ΠΊΠ°ΠΊ CounterScriptLink.py Π² ΡΠ°ΠΉΠ»Π΅ scriptlinks.blend.)
import Blender
objectname='Counter'
scriptname='CounterScriptLink.py'
def setcounter(counterob):
seconds = int(Blender.Get('curframe')/25.0)+1
counterob.getData().setText(str(seconds))
counterob.makeDisplayList()
Blender.Window.RedrawAll()
if Blender.bylink:
setcounter(Blender.link)
else:
countertxt = Blender.Text3d.New(objectname)
scn = Blender.Scene.GetCurrent()
counterob = scn.objects.new(countertxt)
setcounter(counterob)
counterob.clearScriptLinks([scriptname])
counterob.addScriptLink(scriptname,'FrameChanged')
ΠΡΠΎΡ ΡΠΊΡΠΈΠΏΡ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π°ΡΡΠΎΡΠΈΡΠΎΠ²Π°Π½ Π² Π²ΠΈΠ΄Π΅ ΡΠΊΡΠΈΠΏΡΡΠ²ΡΠ·ΠΈ Ρ Π»ΡΠ±ΡΠΌ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠΌ Text3d, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ ΠΏΡΠ΅ΠΆΠ΄Π΅. Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, Π΅ΡΠ»ΠΈ Π·Π°ΠΏΡΡΡΠΈΡΡ Π΅Π³ΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Alt + P ΠΈΠ· ΡΠ΅ΠΊΡΡΠΎΠ²ΠΎΠ³ΠΎ ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ°, ΠΎΠ½ ΡΠΎΠ·Π΄Π°ΡΡ Π½ΠΎΠ²ΡΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ Text3d ΠΈ ΠΏΡΠΈΡΠΎΠ΅Π΄ΠΈΠ½ΠΈΡ ΡΠ΅Π±Ρ ΠΊ ΡΡΠΎΠΌΡ ΠΎΠ±ΡΠ΅ΠΊΡΡ ΠΊΠ°ΠΊ ΡΠ²ΡΠ·Π°Π½Π½ΡΠΉ ΡΠΊΡΠΈΠΏΡ. ΠΡΠ΄Π΅Π»Π΅Π½Π½Π°Ρ ΡΡΡΠΎΠΊΠ° ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΡΠ°ΠΊΡΡ ΠΆΠ΅ ΠΏΡΠΎΡΡΡΡ ΠΏΡΠΎΠ²Π΅ΡΠΊΡ Π½Π° Π΅Π³ΠΎ Π½Π°Π»ΠΈΡΠΈΠ΅, ΠΊΠ°ΠΊ Π² ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΡ ΡΠΊΡΠΈΠΏΡΠ°Ρ , Π½ΠΎ Π² Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΌΡ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌ ΡΠ°ΠΊΠΆΠ΅ Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ Π² ΡΠ»ΡΡΠ°Π΅, Π΅ΡΠ»ΠΈ ΡΠΊΡΠΈΠΏΡ Π½Π΅ Π±ΡΠ» Π²ΡΠ·Π²Π°Π½ ΠΊΠ°ΠΊ ΡΠΊΡΠΈΠΏΡΡΠ²ΡΠ·Ρ (ΠΏΠΎΡΠ»Π΅ else). ΠΠΎΡΠ»Π΅Π΄Π½ΠΈΠ΅ Π΄Π²Π΅ Π²ΡΠ΄Π΅Π»Π΅Π½Π½ΡΡ ΡΡΡΠΎΠΊΠΈ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡ, ΠΊΠ°ΠΊ ΠΌΡ ΡΠΎΠ΅Π΄ΠΈΠ½ΡΠ΅ΠΌ ΡΠΊΡΠΈΠΏΡ Ρ Π²Π½ΠΎΠ²Ρ ΡΠΎΠ·Π΄Π°Π½Π½ΡΠΌ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠΌ. Π‘Π½Π°ΡΠ°Π»Π°, ΠΌΡ ΡΠ΄Π°Π»ΡΠ΅ΠΌ (clear) Π»ΡΠ±ΡΡ ΡΠΊΡΠΈΠΏΡΡΠ²ΡΠ·Ρ Ρ ΡΠ΅ΠΌ ΠΆΠ΅ ΠΈΠΌΠ΅Π½Π΅ΠΌ, ΠΊΠΎΡΠΎΡΠ°Ρ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π±ΡΠ»Π° ΡΠ²ΡΠ·Π°Π½Π° ΡΠ°Π½ΡΡΠ΅. ΠΡΠΎ Π΄Π΅Π»Π°Π΅ΡΡΡ, ΡΡΠΎΠ±Ρ ΠΏΡΠ΅Π΄ΠΎΡΠ²ΡΠ°ΡΠΈΡΡ ΡΠ²ΡΠ·ΡΠ²Π°Π½ΠΈΠ΅ ΡΡΠΎΠΉ ΠΆΠ΅ ΡΠΊΡΠΈΠΏΡΡΠ²ΡΠ·ΠΈ Π±ΠΎΠ»Π΅Π΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠ°Π·Π°, ΡΡΠΎ Π΄ΠΎΠΏΡΡΡΠΈΠΌΠΎ, Π½ΠΎ Π΅Π΄Π²Π° Π»ΠΈ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ. ΠΠ°ΡΠ΅ΠΌ, ΠΌΡ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΠΌ ΡΠΊΡΠΈΠΏΡ ΠΊΠ°ΠΊ ΡΠΊΡΠΈΠΏΡΡΠ²ΡΠ·Ρ, ΠΊΠΎΡΠΎΡΠ°Ρ Π±ΡΠ΄Π΅Ρ Π²ΡΠ·ΡΠ²Π°ΡΡΡΡ, ΠΊΠΎΠ³Π΄Π° ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΊΠ°Π΄ΡΠ° (FrameChanged). Π‘ΠΊΡΠΈΠ½ΡΠΎΡ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ 3D-Π²ΠΈΠ΄ Ρ ΠΊΠ°Π΄ΡΠΎΠΌ ΠΈΠ· Π°Π½ΠΈΠΌΠ°ΡΠΈΠΈ Π²ΠΌΠ΅ΡΡΠ΅ Ρ ΠΎΠΊΠ½ΠΎΠΌ ΠΠ½ΠΎΠΏΠΎΠΊ (ΡΠ»Π΅Π²Π° Π²Π²Π΅ΡΡ Ρ), ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΠΏΠΈΡΠΎΠΊ Π°ΡΡΠΎΡΠΈΠ°ΡΠΈΠΉ ΡΠΊΡΠΈΠΏΡΡΠ²ΡΠ·Π΅ΠΉ Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠΌ.
ΠΠ°ΠΌΠ΅ΡΡΡΠ΅, ΡΡΠΎ Ρ ΠΎΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ΅Π΄ΠΈΠ½ΠΈΡΡ ΡΠΊΡΠΈΠΏΡΡΠ²ΡΠ·Ρ Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠΌ ΠΠ»Π΅Π½Π΄Π΅ΡΠ° ΠΈΠ· ΡΠΊΡΠΈΠΏΡΠ° Π½Π° ΠΠΈΡΠΎΠ½Π΅, ΡΠΊΡΠΈΠΏΡΡΠ²ΡΠ·ΠΈ Π΄Π»Ρ Π½Π΅Π³ΠΎ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ Π²ΠΊΠ»ΡΡΠ΅Π½Ρ Π²ΡΡΡΠ½ΡΡ, ΡΡΠΎΠ±Ρ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠ°Π±ΠΎΡΠ°ΡΡ! (ΠΠΎ Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ ScriptLinks). Π API ΠΠΈΡΠΎΠ½Π° ΠΠ»Π΅Π½Π΄Π΅ΡΠ° Π½Π΅Ρ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΠΈ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠ΅ΠΉ ΡΠ΄Π΅Π»Π°ΡΡ ΡΡΠΎ ΠΈΠ· ΡΠΊΡΠΈΠΏΡΠ°.
Π― Π±ΡΠ΄Ρ ΡΠ»Π΅Π΄ΠΈΡΡ Π·Π° Π²Π°ΠΌΠΈ
ΠΠ½ΠΎΠ³Π΄Π°, ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ Ρ ΡΠ»ΠΎΠΆΠ½ΡΠΌ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠΌ, ΡΡΡΠ΄Π½ΠΎ ΡΠ»Π΅Π΄ΠΈΡΡ Π·Π° Π²Π°ΠΆΠ½ΠΎΠΉ Π΄Π΅ΡΠ°Π»ΡΡ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½Π° ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π·Π°Π³ΠΎΡΠΎΠΆΠ΅Π½Π° Π΄ΡΡΠ³ΠΈΠΌΠΈ ΡΠ°ΡΡΡΠΌΠΈ Π³Π΅ΠΎΠΌΠ΅ΡΡΠΈΠΈ. Π ΡΠ°ΠΊΠΎΠΉ ΡΠΈΡΡΠ°ΡΠΈΠΈ, Π±ΡΠ»ΠΎ Π±Ρ Π½Π΅ΠΏΠ»ΠΎΡ ΠΎ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΈΠ²Π°ΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠ΅ Π²Π΅ΡΡΠΈΠ½Ρ, ΡΡΠΎΠ±Ρ ΠΎΠ½ΠΈ ΠΊΠ°ΠΊΠΈΠΌ-ΡΠΎ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ΠΎΡΡΠ°Π²Π°Π»ΠΈΡΡ Π²ΠΈΠ΄ΠΈΠΌΡΠΌΠΈ, Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ ΠΎΡ ΠΎΡΠΈΠ΅Π½ΡΠ°ΡΠΈΠΈ ΠΈ ΡΠ΅ΠΆΠΈΠΌΠ° ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ.
ΠΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π° (Space handlers) ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡ Π½Π°ΠΌ ΡΠΏΠΎΡΠΎΠ± Π²ΡΠΏΠΎΠ»Π½ΡΡΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ Π²ΡΡΠΊΠΈΠΉ ΡΠ°Π·, ΠΊΠΎΠ³Π΄Π° ΠΎΠΊΠ½ΠΎ 3D-Π²ΠΈΠ΄Π° ΠΏΠ΅ΡΠ΅ΡΠΈΡΠΎΠ²ΡΠ²Π°Π΅ΡΡΡ, ΠΈΠ»ΠΈ ΠΊΠΎΠ³Π΄Π° ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½ΠΎ Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΡ ΠΈΠ»ΠΈ ΠΌΡΡΠΈ. ΠΡΠΈ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠ³ΡΡ Π²ΠΊΠ»ΡΡΠ°ΡΡ ΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π² ΠΎΠ±Π»Π°ΡΡΠΈ 3D-Π²ΠΈΠ΄Π°, ΡΠ°ΠΊ ΡΡΠΎ ΠΌΡ ΡΠΌΠΎΠΆΠ΅ΠΌ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΈΠ²Π°Π½ΠΈΠ΅ (Highlight) Π² Π»ΡΠ±ΠΎΠΌ ΠΌΠ΅ΡΡΠ΅, Π³Π΄Π΅ Π½Π°ΠΌ Π½ΡΠ°Π²ΠΈΡΡΡ.
ΠΠ°ΠΊ Π½Π°ΠΌ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ, ΠΊΠ°ΠΊΠΈΠ΅ Π²Π΅ΡΡΠΈΠ½Ρ ΠΌΡ Ρ ΠΎΡΠ΅Π»ΠΈ Π±Ρ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΈΡΡ? ΠΠ»Π΅Π½Π΄Π΅Ρ ΡΠΆΠ΅ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π½Π°ΠΌ ΡΠ½ΠΈΡΠΈΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΡΠΏΠΎΡΠΎΠ± Π³ΡΡΠΏΠΏΠΈΡΠΎΠ²Π°ΡΡ Π½Π°Π±ΠΎΡΡ Π²Π΅ΡΡΠΈΠ½ Π² Π²ΠΈΠ΄Π΅ Π²Π΅ΡΡΠΈΠ½Π½ΡΡ Π³ΡΡΠΏΠΏ, ΡΠ°ΠΊ ΡΡΠΎ Π²ΡΡ, ΡΡΠΎ ΠΌΡ Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΠ΄Π΅Π»Π°ΡΡ, ΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΡΠΊΠ°Π·Π°ΡΡ, ΠΊΠ°ΠΊΡΡ Π³ΡΡΠΏΠΏΡ Π²Π΅ΡΡΠΈΠ½ ΠΎΠ½ Ρ ΠΎΡΠ΅Π» Π±Ρ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΈΡΡ. ΠΠ°ΡΠ΅ΠΌ ΠΌΡ ΡΠΎΡ ΡΠ°Π½ΠΈΠΌ ΠΈΠΌΡ ΡΡΠΎΠΉ Π²ΡΠ±ΡΠ°Π½Π½ΠΎΠΉ Π³ΡΡΠΏΠΏΡ Π²Π΅ΡΡΠΈΠ½ ΠΊΠ°ΠΊ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ° (object property). Π‘Π²ΠΎΠΉΡΡΠ²Π° ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Ρ Π΄Π»Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π² ΠΈΠ³ΡΠΎΠ²ΠΎΠΌ Π΄Π²ΠΈΠΆΠΊΠ΅, Π½ΠΎ Π½Π΅Ρ ΠΏΡΠΈΡΠΈΠ½, ΠΏΠΎΡΠ΅ΠΌΡ ΠΌΡ Π½Π΅ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΈΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΡΠ΅Π΄ΡΡΠ²Π° ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎ Ρ ΡΠ°Π½ΠΈΡΡ Π½Π°ΡΡ Π²ΡΠ±ΡΠ°Π½Π½ΡΡ Π³ΡΡΠΏΠΏΡ Π²Π΅ΡΡΠΈΠ½.
Π ΡΠ°ΠΊ, ΡΠ½ΠΎΠ²Π° Ρ Π½Π°Ρ Π΅ΡΡΡ ΡΠΊΡΠΈΠΏΡ, ΠΊΠΎΡΠΎΡΡΠΉ Π±ΡΠ΄Π΅Ρ Π²ΡΠ·ΡΠ²Π°ΡΡΡΡ Π΄Π²ΡΠΌΡ ΡΠΏΠΎΡΠΎΠ±Π°ΠΌΠΈ: ΠΊΠ°ΠΊ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π° (ΡΠΎ Π΅ΡΡΡ, Π²ΡΡΠΊΠΈΠΉ ΡΠ°Π·, ΠΊΠΎΠ³Π΄Π° ΠΎΠΊΠ½ΠΎ 3D-Π²ΠΈΠ΄Π° ΠΏΠ΅ΡΠ΅ΡΠΈΡΠΎΠ²ΡΠ²Π°Π΅ΡΡΡ, ΡΡΠΎΠ±Ρ Π²ΡΠ΄Π΅Π»ΠΈΡΡ Π½Π°ΡΠΈ Π²Π΅ΡΡΠΈΠ½Ρ), ΠΈΠ»ΠΈ ΠΏΡΠΈ Π·Π°ΠΏΡΡΠΊΠ΅ Π΅Π³ΠΎ ΠΈΠ· ΡΠ΅ΠΊΡΡΠΎΠ²ΠΎΠ³ΠΎ ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ° Ρ ΠΏΠΎΠΌΠΎΡΡΡ Alt + P, ΡΡΠΎΠ±Ρ ΠΏΠΎΠ΄ΡΠΊΠ°Π·Π°ΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π²ΡΠ±ΡΠ°ΡΡ Π³ΡΡΠΏΠΏΡ Π²Π΅ΡΡΠΈΠ½ Π΄Π»Ρ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΈΠ²Π°Π½ΠΈΡ.
Π‘Π»Π΅Π΄ΡΡΡΠ°Ρ ΡΡ Π΅ΠΌΠ° ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ, ΠΊΠ°ΠΊΠΈΠ΅ ΡΠ°Π³ΠΈ ΠΌΡ ΠΏΡΠ΅Π΄ΠΏΡΠΈΠΌΠ΅ΠΌ Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡΠΈΡΡΠ°ΡΠΈΠΈ:
1. ΠΠΎΠ»ΡΡΠΈΡΡ Π°ΠΊΡΠΈΠ²Π½ΡΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ ΠΈ ΠΌΠ΅Ρ.
2. ΠΡΠ»ΠΈ Π·Π°ΠΏΡΡΠ΅Π½ΠΎ Π°Π²ΡΠΎΠ½ΠΎΠΌΠ½ΠΎ:
β¦ ΠΠΎΠ»ΡΡΠΈΡΡ ΡΠΏΠΈΡΠΎΠΊ Π³ΡΡΠΏΠΏ Π²Π΅ΡΡΠΈΠ½
β¦ ΠΡΠ΅Π΄Π»ΠΎΠΆΠΈΡΡ Π½Π° Π²ΡΠ±ΠΎΡ
β¦ Π‘ΠΎΡ ΡΠ°Π½ΠΈΡΡ Π²ΡΠ±ΠΎΡ ΠΊΠ°ΠΊ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ°
3. ΠΠ½Π°ΡΠ΅:
β¦ ΠΠΎΠ»ΡΡΠΈΡΡ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π³ΡΡΠΏΠΏΡ Π²Π΅ΡΡΠΈΠ½
β¦ ΠΠΎΠ»ΡΡΠΈΡΡ ΡΠΏΠΈΡΠΎΠΊ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°Ρ Π²Π΅ΡΡΠΈΠ½
β¦ ΠΠ»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π²Π΅ΡΡΠΈΠ½Ρ:
βͺ Π½Π°ΡΠΈΡΠΎΠ²Π°ΡΡ ΠΌΠ°Π»Π΅Π½ΡΠΊΠΈΠΉ Π΄ΠΈΡΠΊ
Π Π΅Π·ΡΠ»ΡΡΠΈΡΡΡΡΠΈΠΉ ΠΊΠΎΠ΄ Π΄ΠΎΡΡΡΠΏΠ΅Π½ ΠΊΠ°ΠΊ AuraSpaceHandler.py Π² ΡΠ°ΠΉΠ»Π΅ scriptlinks.blend:
# SPACEHANDLER.VIEW3D.DRAW
ΠΠ½ Π½Π°ΡΠΈΠ½Π°Π΅ΡΡΡ ΡΠΎ ΡΡΡΠΎΠΊΠΈ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎΠΉ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½Π° ΡΠΈΠ³Π½Π°Π»ΠΈΠ·ΠΈΡΡΠ΅Ρ ΠΠ»Π΅Π½Π΄Π΅ΡΡ, ΡΡΠΎ ΡΡΠΎ - ΡΠΊΡΠΈΠΏΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ° ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π°, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠ²ΡΠ·Π°Π½ Ρ 3D-Π²ΠΈΠ΄ΠΎΠΌ (Π² Π½Π°ΡΡΠΎΡΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ Π½ΠΈΠΊΠ°ΠΊΡΡ Π΄ΡΡΠ³ΡΡ ΠΎΠ±Π»Π°ΡΡΡ Π½Π΅Π»ΡΠ·Ρ ΡΠ²ΡΠ·Π°ΡΡ Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠΌ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π°) ΠΈ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ Π²ΡΠ·Π²Π°Π½ ΠΏΠΎ ΡΠΎΠ±ΡΡΠΈΡ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ redraw.
import Blender
from Blender import *
scn = Scene.GetCurrent()
ob = scn.objects.active
if ob.type == 'Mesh':
me = ob.getData(mesh = True)
if Blender.bylink:
p=ob.getProperty('Highlight')
vlist = me.getVertsFromGroup(p.getData())
matrix = ob.matrix
drawAuras([me.verts[vi].co*matrix for vi in vlist],
p.getData())
else:
groups = ['Select vertexgroup to highlight%t']
groups.extend(me.getVertGroupNames())
result = Draw.PupMenu( '|'.join(groups) )
if result>0:
try:
p=ob.getProperty('Highlight')
p.setData(groups[result])
except:
ob.addProperty('Highlight',groups[result])
ΠΠ°Π»Π΅Π΅ ΡΠΊΡΠΈΠΏΡ ΠΏΡΠΈΡΡΡΠΏΠ°Π΅Ρ ΠΊ ΠΈΠ·Π²Π»Π΅ΡΠ΅Π½ΠΈΡ Π°ΠΊΡΠΈΠ²Π½ΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ° ΠΈΠ· ΡΠ΅ΠΊΡΡΠ΅ΠΉ ΡΡΠ΅Π½Ρ ΠΈ ΠΏΠΎΠ»ΡΡΠ°Π΅Ρ ΠΌΠ΅Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠ°, Π΅ΡΠ»ΠΈ Π΅Π³ΠΎ ΡΠΈΠΏ - Mesh. ΠΠ° Π²ΡΠ΄Π΅Π»Π΅Π½Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅ ΠΌΡ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅ΠΌ, Π·Π°ΠΏΡΡΠ΅Π½ Π»ΠΈ ΡΠΊΡΠΈΠΏΡ ΠΊΠ°ΠΊ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π°, ΠΈ Π΅ΡΠ»ΠΈ ΡΡΠΎ ΡΠ°ΠΊ, ΠΌΡ Π²ΡΠ±ΠΈΡΠ°Π΅ΠΌ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ Highlight (ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΊΠ°). ΠΠ°Π½Π½ΡΠ΅ ΡΡΠΎΠ³ΠΎ ΡΠ²ΠΎΠΉΡΡΠ²Π° ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΈΠΌΠ΅Π½Π΅ΠΌ Π³ΡΡΠΏΠΏΡ Π²Π΅ΡΡΠΈΠ½, ΠΊΠΎΡΠΎΡΡΡ ΠΌΡ Ρ ΠΎΡΠΈΠΌ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΈΡΡ. ΠΡ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅ΠΌ, ΠΏΠΎΠ»ΡΡΠ°Ρ ΡΠΏΠΈΡΠΎΠΊ Π²ΡΠ΅Ρ Π²Π΅ΡΡΠΈΠ½ Π² ΡΡΠΎΠΉ Π²Π΅ΡΡΠΈΠ½Π½ΠΎΠΉ Π³ΡΡΠΏΠΏΠ΅ ΠΈ ΠΏΠΎΠ»ΡΡΠ°Ρ ΠΌΠ°ΡΡΠΈΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ°. ΠΠ°ΠΌ ΠΎΠ½Π° Π½ΡΠΆΠ½Π°, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΏΠΎΠ·ΠΈΡΠΈΠΈ Π²Π΅ΡΡΠΈΠ½ Π·Π°Π³ΡΡΠΆΠ΅Π½Ρ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΌΠ°ΡΡΠΈΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ°. ΠΠ°ΡΠ΅ΠΌ, ΠΌΡ ΡΠΎΠ·Π΄Π°Π΅ΠΌ ΡΠΏΠΈΡΠΎΠΊ ΠΏΠΎΠ·ΠΈΡΠΈΠΉ Π²Π΅ΡΡΠΈΠ½ ΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°Π΅ΠΌ Π΅Π³ΠΎ Π²ΠΌΠ΅ΡΡΠ΅ Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ Π³ΡΡΠΏΠΏΡ Π²Π΅ΡΡΠΈΠ½ Π² ΡΡΠ½ΠΊΡΠΈΡ drawAuras(), ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΠΎΠ·Π°Π±ΠΎΡΠΈΡΡΡ ΠΎ ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠΌ ΡΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ.
ΠΡΠΎΡΠ°Ρ Π²ΡΠ΄Π΅Π»Π΅Π½Π½Π°Ρ ΡΡΡΠΎΠΊΠ° ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Π½Π°ΡΠ°Π»ΠΎ ΠΊΠΎΠ΄Π°, ΠΊΠΎΡΠΎΡΡΠΉ Π±ΡΠ΄Π΅Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ, Π΅ΡΠ»ΠΈ ΠΌΡ Π·Π°ΠΏΡΡΠΊΠ°Π΅ΠΌ ΡΠΊΡΠΈΠΏΡ ΠΈΠ· ΡΠ΅ΠΊΡΡΠΎΠ²ΠΎΠ³ΠΎ ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ°. ΠΠ½ ΡΠΎΠ·Π΄Π°ΡΡ ΡΡΡΠΎΠΊΡ, ΡΠΎΡΡΠΎΡΡΡΡ ΠΈΠ· ΠΈΠΌΠ΅Π½ Π²ΡΠ΅Ρ Π³ΡΡΠΏΠΏ Π²Π΅ΡΡΠΈΠ½, ΡΠ²ΡΠ·Π°Π½Π½ΡΡ Ρ Π°ΠΊΡΠΈΠ²Π½ΡΠΌ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠΌ, ΡΠ°Π·Π΄Π΅Π»Π΅Π½Π½ΡΡ ΡΠΈΠΌΠ²ΠΎΠ»Π°ΠΌΠΈ ΡΡΡΠ±Ρ (|) ΠΈ Ρ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π½ΡΠΌ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡΠΈΠΌ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ. ΠΡΠ° ΡΡΡΠΎΠΊΠ° ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡΡΡ Π² ΡΡΠ½ΠΊΡΠΈΡ PupMenu(), ΠΊΠΎΡΠΎΡΠ°Ρ ΠΎΡΠΎΠ±ΡΠ°Π·ΠΈΡ ΠΌΠ΅Π½Ρ, ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠΈΡ Π²ΡΠ±ΠΎΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ, Π»ΠΈΠ±ΠΎ -1, Π΅ΡΠ»ΠΈ Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅ Π±ΡΠ»ΠΎ Π²ΡΠ±ΡΠ°Π½ΠΎ.
ΠΡΠ»ΠΈ Π±ΡΠ»Π° Π²ΡΠ±ΡΠ°Π½Π° Π³ΡΡΠΏΠΏΠ° Π²Π΅ΡΡΠΈΠ½, ΠΌΡ ΠΏΡΡΠ°Π΅ΠΌΡΡ ΠΈΠ·Π²Π»Π΅ΡΡ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ Highlight. ΠΡΠ»ΠΈ ΡΡΠΎ ΠΏΠΎΠ»ΡΡΠ°Π΅ΡΡΡ, ΠΌΡ Π·Π°ΠΏΠΈΡΡΠ²Π°Π΅ΠΌ Π² Π΄Π°Π½Π½ΡΠ΅ ΡΡΠΎΠ³ΠΎ ΡΠ²ΠΎΠΉΡΡΠ²Π° ΠΈΠΌΡ Π²ΡΠ±ΡΠ°Π½Π½ΠΎΠΉ Π³ΡΡΠΏΠΏΡ Π²Π΅ΡΡΠΈΠ½. ΠΡΠ»ΠΈ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ Π΅ΡΠ΅ Π½Π΅ ΡΡΡΠ΅ΡΡΠ²ΠΎΠ²Π°Π»ΠΎ, ΠΌΡ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΠΌ Π½ΠΎΠ²ΠΎΠ΅ Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ Highlight ΠΈ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π΄Π°Π½Π½ΡΡ ΡΠ°ΠΊΠΆΠ΅ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π΅ΠΌ ΠΈΠΌΡ Π²ΡΠ±ΡΠ°Π½Π½ΠΎΠΉ Π³ΡΡΠΏΠΏΡ Π²Π΅ΡΡΠΈΠ½.