me=ob.getData(mesh=1)
mats=[ Blender.Material.New(), Blender.Material.New()]
mats[0].rgbCol=[1.0,1.0,1.0]
mats[1].rgbCol=[0.0,0.0,0.0]
ob.setMaterials(mats)
ob.colbits=3
for f in me.faces:
if f.index%2 == 0 :
f.mat=0
else:
f.mat=1
ΠΡΠ΄Π΅Π»Π΅Π½Π½Π°Ρ ΡΡΡΠΎΠΊΠ° Π³Π°ΡΠ°Π½ΡΠΈΡΡΠ΅Ρ, ΡΡΠΎ ΠΈΠ½Π΄Π΅ΠΊΡΡ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»ΠΎΠ², ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠ΅ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π³ΡΠ°Π½ΠΈ, ΠΎΡΠ½ΠΎΡΡΡΡΡ ΠΊ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»Π°ΠΌ, Π½Π°Π·Π½Π°ΡΠ΅Π½Π½ΡΠΌ Π½Π° ΠΎΠ±ΡΠ΅ΠΊΡ. (Π’Π°ΠΊΠΆΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΡΠ²ΡΠ·Π°ΡΡ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»Ρ Ρ ΠΌΠ΅Ρ-Π΄Π°Π½Π½ΡΠΌΠΈ, ΠΊΠ°ΠΊ ΠΌΡ ΡΠ²ΠΈΠ΄ΠΈΠΌ Π² ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΡΠ΅ΠΊΡΠΈΠΈ.)
Π ΠΠ»Π΅Π½Π΄Π΅ΡΠ΅ ΠΈ ΠΠ΅Ρ-ΠΎΠ±ΡΠ΅ΠΊΡ ΠΈ ΠΎΠ±ΡΠ΅ΠΊΡ ΠΠ»Π΅Π½Π΄Π΅ΡΠ° Π²Π΅ΡΡ Π½Π΅Π³ΠΎ ΡΡΠΎΠ²Π½Ρ, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠΉ ΠΠ΅Ρ-ΠΎΠ±ΡΠ΅ΠΊΡ, ΠΌΠΎΠ³ΡΡ ΠΈΠΌΠ΅ΡΡ ΡΠ²ΠΎΠΉ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠΉ ΡΠΏΠΈΡΠΎΠΊ ΠΈΠ· 16 ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»ΠΎΠ². ΠΡΠΎ ΡΠ΄ΠΎΠ±Π½ΠΎ, Π΅ΡΠ»ΠΈ Π½Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠΎΠ² ΠΊΠΎΠΏΠΈΠΈ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈ ΡΠΎΠ³ΠΎ ΠΆΠ΅ ΠΌΠ΅ΡΠ°, Π½ΠΎ Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½Π½ΡΠΌΠΈ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠΌΠΈ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»Π°ΠΌΠΈ. Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, Π² Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΡΠΈΡΡΠ°ΡΠΈΡΡ , ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ Π·Π°Ρ ΠΎΡΠ΅ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠΈΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠ»ΠΈ Π²ΡΠ΅ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»Ρ ΠΊ ΠΠ΅ΡΡ, Π° Π½Π΅ ΠΊ ΠΎΠ±ΡΠ΅ΠΊΡΡ. ΠΡΠΎ ΡΠΏΡΠ°Π²Π»ΡΠ΅ΡΡΡ Π°ΡΡΠΈΠ±ΡΡΠΎΠΌ ΠΎΠ±ΡΠ΅ΠΊΡΠ° colbits. ΠΡΠΎΡ Π°ΡΡΠΈΠ±ΡΡ ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· 16 Π±ΠΈΡΠΎΠ², ΠΈ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΈΠ· Π½ΠΈΡ ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π» ΠΎΡ ΠΠ±ΡΠ΅ΠΊΡΠ° ΠΈΠ»ΠΈ ΠΎΡ ΠΠ΅ΡΠ°. ΠΡ ΡΠΆΠ΅ Π²ΠΈΠ΄Π΅Π»ΠΈ ΠΏΡΠΈΠΌΠ΅Ρ Ρ ΡΡΠΈΠΌ Π°ΡΡΠΈΠ±ΡΡΠΎΠΌ Π² ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅ΠΉ ΡΠ΅ΠΊΡΠΈΠΈ.
ΠΠ±ΡΠ΅ΠΊΡ ΠΡΠΈΠ²ΠΎΠΉ (Curve) ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ ΠΈΠΌΠ΅ΡΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠΉ Π½Π°Π±ΠΎΡ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»ΠΎΠ², ΠΈ Π²ΡΠ±ΠΎΡ ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»Π° ΠΏΠΎΠ΄ΡΠΈΠ½ΡΠ΅ΡΡΡ ΡΠ΅ΠΌ ΠΆΠ΅ ΠΏΡΠ°Π²ΠΈΠ»Π°ΠΌ, ΡΡΠΎ ΠΈ Π΄Π»Ρ ΠΠ΅Ρ-ΠΎΠ±ΡΠ΅ΠΊΡΠ°. ΠΠ΅ΡΠ°Π±ΠΎΠ»Π»Ρ ΡΠ°ΠΊΠΆΠ΅ ΠΈΠΌΠ΅ΡΡ ΡΠ²ΠΎΠΉ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠΉ Π½Π°Π±ΠΎΡ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»ΠΎΠ², ΠΈ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡΠ°ΠΌΠΈ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»ΠΎΠ² ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΡΡ ΡΠ°ΠΊ ΠΆΠ΅, Π½ΠΎ Π² ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ ΠΌΠ½ΠΎΠ³ΠΈΡ ΡΠΈΠΏΠΎΠ² ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΎΡΡΠΎΡΡ ΠΈΠ· ΡΠ°ΡΡΠ΅ΠΉ (ΡΠΌΠΎΡΡΠΈ ΡΠ»Π΅Π΄ΡΡΡΡΡ ΡΠ΅ΠΊΡΠΈΡ), Π½Π΅Ρ ΡΠΏΠΎΡΠΎΠ±Π° ΡΠΎΠ΅Π΄ΠΈΠ½ΡΡΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»Ρ Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠΌΠΈ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΠΌΠΈ Π² ΠΏΡΠ΅Π΄Π΅Π»Π°Ρ ΠΠ΅ΡΠ°Π±ΠΎΠ»Π»Π° (ΡΡΠΎ ΠΈΡΡΠΈΠ½Π½Π½ΠΎ ΡΠ°ΠΊΠΆΠ΅ ΠΈ Π² Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΌ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ: ΠΊΠ½ΠΎΠΏΠΊΠΈ Π½Π° ΠΏΠ°Π½Π΅Π»ΠΈ Links and Materials ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ° Π Π΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΡΡΠ΅ΡΡΠ²ΡΡΡ, ΡΡΠΎΠ±Ρ Π½Π°Π·Π½Π°ΡΠ°ΡΡ ΠΈΠ½Π΄Π΅ΠΊΡΡ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»ΠΎΠ² ΠΈΠ½Π΄ΠΈΠ²ΠΈΠ΄ΡΠ°Π»ΡΠ½ΡΠΌ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΠΌ ΠΌΠ΅ΡΠ°Π±ΠΎΠ»Π»Π°, Π½ΠΎ ΠΎΠ½ΠΈ Π½Π΅ Π΄Π°ΡΡ ΡΡΡΠ΅ΠΊΡΠ°). ΠΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠ΅ΡΠ²ΡΠΉ ΡΠ»ΠΎΡ ΡΠΏΠΈΡΠΊΠ° ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»ΠΎΠ².
ΠΠ°ΠΌΠ΅ΡΡΡΠ΅, ΡΡΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅ Π²ΠΈΠ·ΡΠ°Π»ΠΈΠ·ΠΈΡΡΡΡΡΡ ΡΠ°ΠΌΠΈ, ΠΊΠ°ΠΊ Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π°ΡΠΌΠ°ΡΡΡΡ ΠΈ ΡΠ΅ΡΠ΅ΡΠΊΠΈ, Π½Π΅ ΠΈΠΌΠ΅ΡΡ ΡΠ²ΡΠ·Π°Π½Π½ΡΡ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»ΠΎΠ² (ΡΠ°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, Π»ΡΠ±ΡΠ΅ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»Ρ, ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ Ρ ΠΠ±ΡΠ΅ΠΊΡΠΎΠΌ Π²Π΅ΡΡ Π½Π΅Π³ΠΎ ΡΡΠΎΠ²Π½Ρ, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠΌ Π°ΡΠΌΠ°ΡΡΡΡ ΠΈΠ»ΠΈ ΡΠ΅ΡΠ΅ΡΠΊΡ, Π±ΡΠ΄ΡΡ ΠΏΡΠΎΠΈΠ³Π½ΠΎΡΠΈΡΠΎΠ²Π°Π½Ρ). ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅ ΠΈΠΌΠ΅ΡΡ ΡΠ²ΡΠ·Π°Π½Π½ΡΡ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»ΠΎΠ², ΠΌΠΎΠ³ΡΡ ΠΈΠΌΠ΅ΡΡ ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ Ρ Π½ΠΈΠΌΠΈ ΡΠ΅ΠΊΡΡΡΡΡ. ΠΠ±ΡΠ΅ΠΊΡΡ ΠΠΈΡΠ° ΠΈ ΠΠ°ΠΌΠΏΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΌΠΎΠΆΠ½ΠΎ ΡΠ²ΡΠ·Π°ΡΡ Ρ ΡΠ΅ΠΊΡΡΡΡΠ°ΠΌΠΈ, ΡΡΠΎΠ±Ρ ΡΠΏΡΠ°Π²Π»ΡΡΡ ΠΈΡ ΡΠ²Π΅ΡΠ°ΠΌΠΈ.
Π ΠΏΡΠ΅Π΄Π΅Π»Π°Ρ ΠΌΠ΅ΡΠ° ΠΊΠ°ΠΆΠ΄Π°Ρ Π³ΡΠ°Π½Ρ ΠΌΠΎΠΆΠ΅Ρ ΠΈΠΌΠ΅ΡΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠΉ, ΡΠ²ΡΠ·Π°Π½Π½ΡΠΉ Ρ Π½Π΅ΠΉ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π». ΠΡΠΎΡ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π» ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΡΠΈΡΡΠ΅ΡΡΡ ΡΠ²ΠΎΠΈΠΌ ΠΈΠ½Π΄Π΅ΠΊΡΠΎΠΌ Π² ΡΠΏΠΈΡΠΊΠ΅ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»ΠΎΠ² ΠΈ ΡΠΎΡ ΡΠ°Π½ΡΠ΅ΡΡΡ Π² Π°ΡΡΠΈΠ±ΡΡΠ΅ mat. Π ΠΏΡΠ΅Π΄Π΅Π»Π°Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠ° Text3d, ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠΈΠΌΠ²ΠΎΠ» ΠΌΠΎΠΆΠ΅Ρ ΠΈΠΌΠ΅ΡΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠΉ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π», ΠΎΠΏΡΡΡ ΠΆΠ΅ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΡΠΈΡΡΠ΅ΠΌΡΠΉ ΡΠ²ΠΎΠΈΠΌ ΠΈΠ½Π΄Π΅ΠΊΡΠΎΠΌ Π² ΡΠΏΠΈΡΠΊΠ΅ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»ΠΎΠ². ΠΠ° ΡΡΠΎΡ ΡΠ°Π·, ΡΡΠΎΡ ΠΈΠ½Π΄Π΅ΠΊΡ Π½Π΅ Ρ ΡΠ°Π½ΠΈΡΡΡ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ Π² Π°ΡΡΠΈΠ±ΡΡΠ΅, Π½ΠΎ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ ΠΈΠ»ΠΈ ΠΈΠ·Π²Π»Π΅ΡΠ΅Π½ ΠΌΠ΅ΡΠΎΠ΄Π°ΠΌΠΈ accessor, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ ΠΈΠ½Π΄Π΅ΠΊΡ ΡΠΈΠΌΠ²ΠΎΠ»Π° Π² ΡΠ΅ΠΊΡΡΠ΅ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ°.
Π‘Π΅ΠΊΡΠΈΡΠΌ Π²Π½ΡΡΡΠΈ ΠΡΠΈΠ²ΠΎΠΉ (ΠΎΠ±ΡΠ΅ΠΊΡΡ CurNurb), ΠΌΠΎΠΆΠ½ΠΎ Π½Π°Π·Π½Π°ΡΠΈΡΡ ΠΈΠ½Π΄Π΅ΠΊΡ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»Π° ΠΈΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠΌ setMatIndex(). ΠΠ½Π΄Π΅ΠΊΡ ΠΌΠΎΠ³ Π±ΡΡΡ ΠΈΠ·Π²Π»Π΅ΡΠ΅Π½ ΠΈΠ· Π½ΠΈΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΌ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠΌ getMatIndex(). ΠΠ°ΠΌΠ΅ΡΡΡΠ΅, ΡΡΠΎ ΡΠ²ΡΠ·Ρ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»Π° Ρ ΠΊΡΠΈΠ²ΡΠΌΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΎΡΡΠΎΡΡ ΠΈΠ· Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΠΎΠΉ Π»ΠΈΠ½ΠΈΠΈ Π±Π΅Π· Π½Π°ΡΡΡΠΎΠ΅Π½Π½ΠΎΠΉ Π²ΡΠ΄Π°Π²Π»Π΅Π½Π½ΠΎΠΉ ΡΠΈΡΠΈΠ½Ρ ΠΈΠ»ΠΈ ΡΠ²ΡΠ·Π°Π½Π½ΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ° ΡΠΊΠΎΡΠ°, Π½Π΅ Π±ΡΠ΄Π΅Ρ ΠΈΠΌΠ΅ΡΡ Π²ΠΈΠ΄ΠΈΠΌΡΡ ΡΡΡΠ΅ΠΊΡΠΎΠ², ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΡΡΠΈ ΠΊΡΠΈΠ²ΡΠ΅ Π½Π΅ ΡΠ΅Π½Π΄Π΅ΡΡΡΡΡ.
Π‘Π»Π΅Π΄ΡΡΡΠΈΠΉ ΠΊΡΡΠΎΠΊ ΠΊΠΎΠ΄Π° ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΠΊΠ°ΠΊ Π½Π°Π·Π½Π°ΡΠ°ΡΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠΌ ΡΠΈΠΌΠ²ΠΎΠ»Π°ΠΌ Π² ΠΏΡΠ΅Π΄Π΅Π»Π°Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠ° Text3d. Π‘Π°ΠΌ ΠΊΠΎΠ΄ ΠΏΡΠΎΡΡ, Π½ΠΎ ΠΊΠ°ΠΊ ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π·Π°ΠΌΠ΅ΡΠΈΡΡ, ΠΌΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΠΌ ΡΠΏΠΈΡΠΎΠΊ ΠΈΠ· ΡΡΠ΅Ρ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»ΠΎΠ², Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄ΠΈΠ½. ΠΡΠΎ ΡΠ°ΡΡΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ, Π½ΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ, ΡΡΠΎΠ±Ρ ΠΎΠ±ΠΎΠΉΡΠΈ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΡ Π² ΡΡΠ½ΠΊΡΠΈΠΈ setMaterial(). ΠΡ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ ΠΈΠ½Π΄Π΅ΠΊΡΠ° ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»Π° Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΡΠΌΠ΅ΡΡΠ½ Π½Π° ΠΎΠ΄ΠΈΠ½, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΈΠ½Π΄Π΅ΠΊΡ 2 ΠΈΠΌΠ΅Π΅Ρ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠ΅ ΠΊΠΎ Π²ΡΠΎΡΠΎΠΌΡ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»Ρ Π² ΡΠΏΠΈΡΠΊΠ΅, ΡΠ΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, ΡΠ°ΠΌΡΠΉ Π±ΠΎΠ»ΡΡΠΎΠΉ ΠΈΠ½Π΄Π΅ΠΊΡ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΎΠΉΡΠΈ Π½Π΅ ΡΠΌΠ΅ΡΡΠ½Π½ΡΠΌ Π½Π° Π΅Π΄ΠΈΠ½ΠΈΡΡ. Π’Π°ΠΊ Π΅ΡΠ»ΠΈ ΠΌΡ Ρ ΠΎΡΠ΅Π»ΠΈ Π±Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π²Π° ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»Π°, ΠΌΡ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΈΠ½Π΄Π΅ΠΊΡΡ 1 ΠΈ 2, ΡΡΠΎΠ±Ρ ΠΈΠΌΠ΅ΡΡ Π΄ΠΎΡΡΡΠΏ ΠΊ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»Π°ΠΌ 0 ΠΈ 1, Π½ΠΎ ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΡΠΏΠΈΡΠΎΠΊ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»ΠΎΠ² Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ ΡΡΠΈ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»Π°, Π² ΠΏΡΠΎΡΠΈΠ²Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΌΡ Π½Π΅ ΡΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ 2 Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ° Π² setMaterial().
mats=[Material.New(),Material.New(),Material.New()]
mats[0].rgbCol=[1.0,1.0,1.0]
mats[1].rgbCol=[0.0,0.0,0.0]
mats[2].rgbCol=[1.0,0.0,0.0]
ob.setMaterials(mats)
ob.colbits=3
txt=ob.getData()
for i in range(len(txt.getText())):
txt.setMaterial(i,1+i%2)
ΠΡΠ΄Π΅Π»Π΅Π½Π½ΡΠΉ ΠΊΠΎΠ΄ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΠΊΠΎΡΡΠ΅ΠΊΡΠΈΡ Π½Π° 1. ΠΠΎΠ»Π½ΡΠΉ ΠΊΠΎΠ΄ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ ΠΊΠ°ΠΊ TextColors.py.
ΠΠ΄ΠΈΠ½ Π²Π°ΠΆΠ½ΡΠΉ Π°ΡΠΏΠ΅ΠΊΡ ΡΠ°Π±ΠΎΡΡ Ρ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»Π°ΠΌΠΈ, Ρ ΠΊΠΎΡΠΎΡΡΠΌ ΠΌΡ ΠΏΠΎΠΊΠ° Π½Π΅ ΠΈΠΌΠ΅Π»ΠΈ Π΄Π΅Π»Π° - ΡΠ²Π΅ΡΠ° Π²Π΅ΡΡΠΈΠ½. Π ΠΌΠ΅ΡΠ°Ρ ΠΊΠ°ΠΆΠ΄Π°Ρ Π²Π΅ΡΡΠΈΠ½Π° ΠΌΠΎΠΆΠ΅Ρ ΠΈΠΌΠ΅ΡΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠΉ ΡΠ²Π΅Ρ Π²Π΅ΡΡΠΈΠ½Ρ. Π¦Π²Π΅Ρ Π²Π΅ΡΡΠΈΠ½Ρ ΠΎΡΠ»ΠΈΡΠ°Π΅ΡΡΡ ΠΎΡ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»Π°, Π½ΠΎ Π±ΡΠ΄ΡΡ Π»ΠΈ ΡΠ²Π΅ΡΠ° Π²Π΅ΡΡΠΈΠ½ Π²ΡΠ·ΡΠ²Π°ΡΡ ΠΊΠ°ΠΊΠΈΠ΅-ΡΠΎ Π²ΠΈΠ΄ΠΈΠΌΡΠ΅ ΡΡΡΠ΅ΠΊΡΡ, ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈΡΡΠ΅ΡΡΡ ΡΠ»Π°Π³Π°ΠΌΠΈ ΡΠ΅ΠΆΠΈΠΌΠ° ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»Π°. Π§ΡΠΎΠ±Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π»ΡΠ±ΡΠ΅ ΡΠ²Π΅ΡΠ° Π²Π΅ΡΡΠΈΠ½Ρ Π² ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»Π΅, Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ Π±ΠΈΡ VColPaint Π²ΡΠ·ΠΎΠ²ΠΎΠΌ ΠΌΠ΅ΡΠΎΠ΄Π° setMode(). ΠΠΎΠ³Π΄Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΡΠΎΡ ΡΠ΅ΠΆΠΈΠΌ, ΡΠ²Π΅ΡΠ° Π²Π΅ΡΡΠΈΠ½ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ Π΄ΠΈΡΡΡΠ·Π½ΡΠΉ (ΡΠ°ΡΡΠ΅ΡΠ½Π½ΡΠΉ) ΡΠ²Π΅Ρ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»Π°, ΡΠΎΠ³Π΄Π° ΠΊΠ°ΠΊ Π²ΡΠ΅ ΠΎΠ±ΡΡΠ½ΡΠ΅ Π°ΡΡΠΈΠ±ΡΡΡ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»ΠΎΠ² ΡΠΏΡΠ°Π²Π»ΡΡΡ ΡΠΏΠΎΡΠΎΠ±ΠΎΠΌ, ΠΊΠΎΡΠΎΡΡΠΌ ΡΡΠΎΡ Π΄ΠΈΡΡΡΠ·Π½ΡΠΉ ΡΠ²Π΅Ρ Π±ΡΠ΄Π΅Ρ ΡΠ΅Π½Π΄Π΅ΡΠΈΡΡΡΡ. ΠΠ±ΡΡΠ½ΠΎΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π΄Π»Ρ ΡΠ²Π΅ΡΠΎΠ² Π²Π΅ΡΡΠΈΠ½ - ΡΡΠΎ Π·Π°ΠΏΠ΅ΠΊΠ°Π½ΠΈΠ΅ Π΄ΠΎΡΠΎΠ³ΠΈΡ Π² Π²ΡΡΠΈΡΠ»ΠΈΡΠ΅Π»ΡΠ½ΠΎΠΌ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠΈ ΡΡΡΠ΅ΠΊΡΠΎΠ², ΠΊΠ°ΠΊ Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ambient occlusion. ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΡΠ²Π΅ΡΠ° Π²Π΅ΡΡΠΈΠ½ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΅Π½Π΄Π΅ΡΠΈΡΡ ΠΎΡΠ΅Π½Ρ Π±ΡΡΡΡΠΎ, ambient occlusion ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π°ΠΏΠΏΡΠΎΠΊΡΠΈΠΌΠΈΡΠΎΠ²Π°Π½Π° ΡΡΠΈΠΌ ΡΠΏΠΎΡΠΎΠ±ΠΎΠΌ, Π΄Π°ΠΆΠ΅ Π² Π½Π°ΡΡΡΠΎΠΉΠΊΠ΅ ΡΠ΅Π°Π»ΡΠ½ΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ, ΠΊΠ°ΠΊ Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π² ΠΈΠ³ΡΠΎΠ²ΠΎΠΌ Π΄Π²ΠΈΠΆΠΊΠ΅. (ΠΠΏΠΏΡΠΎΠΊΡΠΈΠΌΠΈΡΠΎΠ²Π°Π½Π°, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΏΡΠΈ ΡΡΠΎΠΌ Π½Π΅ Π±ΡΠ΄Π΅Ρ ΡΠ°ΠΊΠΎΠΉ ΠΆΠ΅ ΡΠ΅Π°ΠΊΡΠΈΠΈ Π½Π° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΠΎΡΠ²Π΅ΡΠ΅Π½ΠΈΠΈ.)
Π¦Π²Π΅ΡΠ° Π²Π΅ΡΡΠΈΠ½ ΡΠΎΡ ΡΠ°Π½ΡΡΡΡΡ ΠΊΠ°ΠΊ ΠΎΠ±ΡΠ΅ΠΊΡΡ Mesh.MCol (ΠΎΡΠ½ΠΎΠ²Π°Π½Ρ Π½Π° ΠΊΠΎΡΡΠ΅ΠΆΠ°Ρ RGBA) Π² Π°ΡΡΠΈΠ±ΡΡΠ΅ Π³ΡΠ°Π½ΠΈ col. ΠΡΡΠΈΠ±ΡΡ col ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΏΠΈΡΠΊΠΎΠΌ, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠΌ ΡΡΡΠ»ΠΊΡ Π½Π° ΠΎΠ±ΡΠ΅ΠΊΡ MCol Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π²Π΅ΡΡΠΈΠ½Ρ Π² Π³ΡΠ°Π½ΠΈ. Π£ ΡΠ°ΠΊΠΎΠ³ΠΎ ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½ΠΈΡ ΠΏΡΠΎΡΠ²ΠΈΡΡΡ ΡΠΌΡΡΠ», ΠΊΠΎΠ³Π΄Π° ΠΡ ΠΏΠΎΠΉΠΌΡΡΠ΅, ΡΡΠΎ ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»Ρ ΡΠ²ΡΠ·Π°Π½Ρ Ρ Π³ΡΠ°Π½ΡΠΌΠΈ, Π° Π½Π΅ Ρ Π²Π΅ΡΡΠΈΠ½Π°ΠΌΠΈ. ΠΠΎΠ³Π΄Π° ΡΠ²Π΅ΡΠ° Π²Π΅ΡΡΠΈΠ½ ΡΠ°Π·Π»ΠΈΡΠ½Ρ, ΠΎΠ½ΠΈ Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎ ΠΈΠ½ΡΠ΅ΡΠΏΠΎΠ»ΠΈΡΡΡΡΡΡ ΡΠ΅ΡΠ΅Π· Π³ΡΠ°Π½Ρ.
ΠΡΠΈΡΠ²Π°ΠΈΠ²Π°ΡΡ Π°ΡΡΠΈΠ±ΡΡΡ Π³ΡΠ°Π½ΠΈ col Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π΅ΡΠ»ΠΈ ΡΠΎΠ»ΡΠΊΠΎ Ρ ΠΌΠ΅ΡΠ° Π±ΡΠ» ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ Π΅Π³ΠΎ Π°ΡΡΠΈΠ±ΡΡ vertexColors Π² ΠΡΡΠΈΠ½Ρ.
Π‘Π»Π΅Π΄ΡΡΡΠΈΠΉ ΠΏΡΠΈΠΌΠ΅Ρ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ, ΠΊΠ°ΠΊ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΡΠ²Π΅ΡΠ° Π²Π΅ΡΡΠΈΠ½ ΠΌΠ΅ΡΠ°. ΠΡ Π²ΡΠ±ΠΈΡΠ°Π΅ΠΌ Π³ΡΠ°Π΄Π°ΡΠΈΠΈ ΡΠ΅ΡΠΎΠ³ΠΎ Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ z Π²Π΅ΡΡΠΈΠ½ (Π²ΡΠ΄Π΅Π»Π΅Π½ΠΎ).
import Blender
ob=Blender.Scene.getCurrent().objects.active
me=ob.getData(mesh=1)
me.vertexColors=True
for f in me.faces:
for i,v in enumerate(f.verts):
g = int(max(0.0,min(1.0,v.co.z))*255)
f.col[i].r=g
f.col[i].g=g
f.col[i].b=g
mats=[Blender.Material.New()]
mats[0].setMode(Blender.Material.Modes['VCOL_PAINT'])
ob.setMaterials(mats)
ob.colbits=1
ob.makeDisplayList()
Blender.Window.RedrawAll()
ΠΠΎΠ»Π½ΡΠΉ ΠΊΠΎΠ΄ Π΄ΠΎΡΡΡΠΏΠ΅Π½ ΠΊΠ°ΠΊ VertexColors.py.
ΠΠ°ΠΊ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΡΡΡΠΈΡ Π² Π½Π°ΡΠ΅ΠΉ Π΄Π΅ΡΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ Ρ Π³ΡΠ°Π²ΡΡΠΎΠΉ, ΠΌΡ Π΄ΠΎΠ±Π°Π²ΠΈΠΌ Π΄Π²Π° ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»Π°. ΠΠ΄ΠΈΠ½ ΠΈΠ½Π΄Π΅ΠΊΡ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»Π° Π½Π°Π·Π½Π°ΡΠΈΠΌ Π²Π΅ΡΡΠΈΠ½Π°ΠΌ Π½Π° ΠΏΠΎΠ²Π΅ΡΡ Π½ΠΎΡΡΠΈ, ΠΈ Π΄ΡΡΠ³ΠΎΠΉ Π²Π΅ΡΡΠΈΠ½Π°ΠΌ Π² Π²ΡΡΠΎΡΠ΅Π½Π½ΡΡ ΠΊΠ°Π½Π°Π²ΠΊΠ°Ρ . ΠΡΠΈΠΌ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠΌ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠΎΠ·Π΄Π°ΡΡ ΠΏΡΠΎΡΠ²Π»Π΅Π½ΠΈΠ΅ Π²Π½ΠΎΠ²Ρ ΡΠΎΠ·Π΄Π°Π½Π½ΠΎΠΉ Π½Π°Π΄ΠΏΠΈΡΠΈ Π½Π° ΠΊΡΡΠΊΠ΅ Π²ΡΠ²Π΅ΡΡΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΊΠ°ΠΌΠ½Ρ.
Π’Π°ΠΊ ΠΊΠ°ΠΊ ΠΌΡ ΡΠ°Π½Π΅Π΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΠ»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ΄ΠΎΠ±Π½ΡΡ Π³ΡΡΠΏΠΏ Π²Π΅ΡΡΠΈΠ½, Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΈΠ½Π΄Π΅ΠΊΡΠΎΠ² ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»Π° Π±ΡΠ΄Π΅Ρ Π²ΠΎΠΏΡΠΎΡΠΎΠΌ ΠΈΡΠ΅ΡΠ°ΡΠΈΠΈ Π½Π°Π΄ Π²ΡΠ΅ΠΌΠΈ Π³ΡΠ°Π½ΡΠΌΠΈ ΠΈ Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π² ΠΊΠ°ΠΆΠ΄ΡΡ Π²Π΅ΡΡΠΈΠ½Ρ Π³ΡΠ°Π½ΠΈ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡΠ΅Π³ΠΎ ΠΈΠ½Π΄Π΅ΠΊΡΠ° ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»Π° Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΡΠΎΠ³ΠΎ, ΡΠ»Π΅Π½ΠΎΠΌ ΠΊΠ°ΠΊΠΎΠΉ Π²Π΅ΡΡΠΈΠ½Π½ΠΎΠΉ Π³ΡΡΠΏΠΏΡ ΡΠ²Π»ΡΠ΅ΡΡΡ Π²Π΅ΡΡΠΈΠ½Π°. Π€ΡΠ½ΠΊΡΠΈΡ, ΠΏΠΎΠΊΠ°Π·Π°Π½Π½Π°Ρ Π½ΠΈΠΆΠ΅, ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ ΡΡΡΡ Π±ΠΎΠ»Π΅Π΅ ΠΎΠ±ΡΠΈΠΉ ΠΏΠΎΠ΄Ρ ΠΎΠ΄, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½Π° ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ ΠΌΠ΅Ρ ΠΈ ΡΠΏΠΈΡΠΎΠΊ ΡΠ΅Π³ΡΠ»ΡΡΠ½ΡΡ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠΉ, ΠΈ Π½Π°Π·Π½Π°ΡΠ°Π΅Ρ ΠΈΠ½Π΄Π΅ΠΊΡ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»Π° Π½Π° ΠΊΠ°ΠΆΠ΄ΡΡ Π³ΡΠ°Π½Ρ Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΠΏΡΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ½ΠΎΡΡΠΈ ΠΊ Π³ΡΡΠΏΠΏΠ΅ Π²Π΅ΡΡΠΈΠ½, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΈΠΌΠ΅Π΅Ρ ΠΈΠΌΡ, ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅Π΅ ΠΎΠ΄Π½ΠΎΠΌΡ ΠΈΠ· ΡΠ΅Π³ΡΠ»ΡΡΠ½ΡΡ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠΉ.
ΠΡΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ Π΄Π΅Π»Π°ΡΡ ΠΎΡΠ΅Π½Ρ Π»Π΅Π³ΠΊΠΈΠΌ Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎΠ³ΠΎ ΠΈΠ½Π΄Π΅ΠΊΡΠ° ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»Π° Π²ΠΎ Π²ΡΠ΅ Π³ΡΡΠΏΠΏΡ Π²Π΅ΡΡΠΈΠ½, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠΌΠ΅ΡΡ Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½ΡΠ΅ ΠΈΠΌΠ΅Π½Π°, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ Π²ΡΠ΅ Ρ Π²ΠΎΡΡΡ ΠΈ ΡΠ΅Π³ΠΌΠ΅Π½ΡΡ Π³ΡΡΠ΄Π½ΠΎΠΉ ΠΊΠ»Π΅ΡΠΊΠΈ ΠΌΠ΅ΡΠ°, ΡΠΎΠ·Π΄Π°Π²Π°Π΅ΠΌΠΎΠ³ΠΎ creepycrawlies.py (ΠΎΠ½ΠΈ Π²ΡΠ΅ ΠΈΠΌΠ΅ΡΡ ΡΠ°ΠΊΠΈΠ΅ ΠΈΠΌΠ΅Π½Π° ΠΊΠ°ΠΊ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, tail.0, tail.1, , ΠΈ ΡΠ°ΠΊ Π΄Π°Π»Π΅Π΅).
Π€ΡΠ½ΠΊΡΠΈΡ Π΄ΠΎΡΡΡΠΏΠ½Π° Π² Tools.py. ΠΠ½Π° Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΠΈΡΠΎΠ½Π° re.search(), ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠΎΠΏΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠ΅Π³ΡΠ»ΡΡΠ½ΠΎΠ΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΡΠΎ ΡΡΡΠΎΠΊΠΎΠΉ. ΠΡΠ΄Π΅Π»Π΅Π½Π½Π°Ρ ΡΡΡΠΎΠΊΠ° ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ, ΡΡΠΎ ΠΌΡ Π²ΡΡΠ°Π²Π»ΡΠ΅ΠΌ ΡΡΡΠΎΠΊΡ ΡΠ΅Π³ΡΠ»ΡΡΠ½ΠΎΠ³ΠΎ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ Π² ΡΠ°ΠΊ Π½Π°Π·ΡΠ²Π°Π΅ΠΌΡΠ΅ ΡΠΊΠΎΡΡ (^ ΠΈ $). ΠΡΠΈΠΌ ΠΏΡΡΡΠΌ ΡΠ΅Π³ΡΠ»ΡΡΠ½ΠΎΠ΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅, ΡΠ°ΠΊΠΎΠ΅ ΠΊΠ°ΠΊ Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, aaaa, ΡΠΎΠΏΠΎΡΡΠ°Π²ΠΈΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Ρ Π³ΡΡΠΏΠΏΠΎΠΉ Π²Π΅ΡΡΠΈΠ½ Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ aaaa, Π° Π½Π΅ Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ aaaa.0, ΡΠ°ΠΊ ΡΡΠΎ ΠΌΡ ΡΠΌΠΎΠΆΠ΅ΠΌ ΡΠ°Π·Π»ΠΈΡΠΈΡΡ ΠΈΡ , Π΅ΡΠ»ΠΈ ΠΌΡ Ρ ΠΎΡΠΈΠΌ. ΠΡΠ»ΠΈ ΠΆΠ΅ ΠΌΡ Ρ ΠΎΡΠΈΠΌ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΡ Π²ΡΠ΅ΠΌ ΠΈΠΌΠ΅Π½Π°ΠΌ Π³ΡΡΠΏΠΏ Π²Π΅ΡΡΠΈΠ½, ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π°ΡΠΈΠ½Π°ΡΡΡΡ Ρ tail, ΠΌΡ ΠΌΠΎΠ³Π»ΠΈ Π±Ρ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ ΡΠ΅Π³ΡΠ»ΡΡΠ½ΠΎΠ΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ tail.* .
Π Π΅Π³ΡΠ»ΡΡΠ½ΡΠ΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ ΡΠ²Π»ΡΡΡΡΡ ΡΡΠ΅Π·Π²ΡΡΠ°ΠΉΠ½ΠΎ ΠΌΠΎΡΠ½ΡΠΌ ΡΠΏΠΎΡΠΎΠ±ΠΎΠΌ ΡΠΎΠΏΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΡΡΠΎΠΊ. ΠΡΠ»ΠΈ ΠΡ Π½Π΅Π·Π½Π°ΠΊΠΎΠΌΡ Ρ Π½ΠΈΠΌΠΈ, ΠΡ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΎΠ±ΡΠ°ΡΠΈΡΡΡΡ ΠΊ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ ΠΏΠΎ ΠΌΠΎΠ΄ΡΠ»Ρ ΠΠΈΡΠΎΠ½Π° re (http://docs.python.org/library/re.html). ΠΠΎΠΆΠ½ΠΎ Π½Π°ΡΠ°ΡΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Ρ http://wiki.intuit.ru.