Qısaca
- Nümunə operator aktiv səhnədəki obyektlərin X koordinatına 1,0 əlavə edir.
- Əlavəni Blender-da sınaqdan keçirdikdən sonra onu .py uzantılı fayl kimi saxlayıb Preferences bölməsindən quraşdıra bilərsiniz.
- Əlavə aktivləşdiriləndə Blender register(), deaktivləşdiriləndə isə unregister() funksiyasını işə salır.
- Blender -b seçimi ilə interfeys açmadan arxa planda işlədilə bilər.
Bu bələdçidə nə öyrənəcəksiniz?
Bu bələdçidə Blender-da sadə Python skriptini əvvəlcə operatora, sonra isə quraşdırıla bilən əlavəyə çevirmə prosesinə baxacaqsınız. Nümunə alət aktiv səhnədəki hər obyektin X koordinatına 1,0 əlavə edir. Məqsəd bu əməliyyatı hər memarlıq layihəsində istifadə etmək deyil; Blender-da alət hazırlamağın əsas elementlərini, kodun necə saxlanıldığını və istifadəçi interfeysindən necə çağırıldığını göstərməkdir.
Həmçinin komanda sətrindən arxa plan render-i başlatmaq üçün istifadə olunan bəzi seçimləri nəzərdən keçirəcəyik. Əlavə hazırlamaq və render almaq ayrı iş axınlarıdır; onları birləşdirən cəhət təkrarlanan işləri müəyyən və izlənə bilən addımlara çevirmələridir. Nümunələrdəki əməliyyatları vacib layihə faylında istifadə etməzdən əvvəl faylın surətində sınaqdan keçirmək məqsədəuyğundur.
Tələblər
Blender-dən əsas səviyyədə istifadə etməyi və Text Editor sahəsində skript işə salmağı bilmək lazımdır. Blender-in əlavə bələdçisi Python-un əsas məlumat növləri, modulları və sinifləri haqqında bilik də tələb edir. Xəta mesajlarını daha yaxşı araşdırmaq üçün Blender-i terminaldan işə salmaq da rəsmi təlimatda tövsiyə olunan üsullardandır.
Aşağıdakı əlavə nümunəsində bl_info lüğətində göstərilən (2, 80, 0) dəyəri bu əlavəni işlətmək üçün tələb olunan minimum Blender versiyasını bildirir. Bu, əlavənin daha yeni versiyalarla avtomatik uyğun olduğu anlamına gəlmir; kod istifadə ediləcəyi versiyada sınaqdan keçirilməlidir. Komanda sətri sənədləri isə Blender 5.2 LTS təlimatında yer alır.
İlk əlavənin addım-addım hazırlanması
Blender-da Text Editor sahəsində yeni mətn yaradıb aşağıdakı kodu əlavə edin. Kod
ObjectMoveXadlı operator təyin edir. Operator işə salındıqda aktiv səhnədəki obyektləri nəzərdən keçirir və hər obyektin X koordinatını 1,0 artırır.UNDOseçimi operator üçün geri qaytarma dəstəyini aktivləşdirir.
bl_info = {
'name': 'Move X Axis',
'blender': (2, 80, 0),
'category': 'Object',
}
import bpy
class ObjectMoveX(bpy.types.Operator):
"""Move every scene object along the X axis."""
bl_idname = 'object.move_x'
bl_label = 'Move X by One'
bl_options = {'REGISTER', 'UNDO'}
def execute(self, context):
scene = context.scene
for obj in scene.objects:
obj.location.x += 1.0
return {'FINISHED'}
def register():
bpy.utils.register_class(ObjectMoveX)
def unregister():
bpy.utils.unregister_class(ObjectMoveX)
if __name__ == '__main__':
register()bl_info əlavənin adı və kateqoriyası kimi məlumatları Blender-ə ötürür; nümunədəki versiya sahəsi isə minimum tələbi bildirir. execute() operator işə salındıqda yerinə yetiriləcək əməliyyatı ehtiva edir. Burada səhnənin konteksti funksiyaya verilən context vasitəsilə əldə olunur. Rəsmi təlimat operatorlarda mümkün olduqda bu parametrdən istifadə etməyi tövsiyə edir.
Text Editor-də Run Script düyməsinə basaraq kodu işə salın. Bu mərhələdə operator qeydiyyata alınır, lakin obyektlər hələ hərəkət etmir. Operator Search menyusunu açın,
Move X by Oneadını axtarın və Enter düyməsini basın. Təlimatdakı nümunədə görünən adbl_labelsahəsində təyin olunur.Skripti əlavə kimi quraşdırmaq üçün
.pyuzantılı, Python modul adlandırma qaydalarına uyğun fayl adı ilə saxlayın. Blender-da Preferences > Add-ons > Install… bölməsinə keçib faylı seçin. Əlavə siyahıda görünəndə onu aktivləşdirin. Yenidən başladıqdan sonra da aktiv qalmasını istəyirsinizsə, təlimatdakı Save as Default seçimini istifadə edin.
Əlavə aktivləşdirildikdə Blender register() funksiyasını, deaktivləşdirildikdə isə unregister() funksiyasını çağırır. Kodda bu funksiyalar operator sinfinin qeydiyyata alınması və qeydiyyatdan çıxarılması işini görür. Hazırlıq mərhələsində skripti birbaşa işə salmaq sürətli sınaq imkanı yaradır; əlavəni quraşdırmaq isə Blender-in onu tərcihlərdəki əlavələr siyahısından idarə etməsinə şərait yaradır.
Memarlıq və vizuallaşdırma iş axınında istifadə
Nümunədəki operator aktiv səhnədəki bütün obyektlərə təsir edir. Buna görə memarlıq səhnəsində onu birbaşa işə salarkən hansı obyektlərin hərəkət edəcəyini nəzərə almaq vacibdir. Ofis üçün belə bir alət hazırlanırsa, əməliyyatın əhatə dairəsi layihənin strukturuna uyğun müəyyənləşdirilməli və alət əvvəlcə sınaq səhnəsində işlədilməlidir. Bu nümunə hazır memarlıq yerləşdirmə aləti deyil, operator məntiqini izah edən başlanğıc işidir.
Blender-in əlavə bələdçisindəki ikinci nümunə aktiv obyektin əlaqəli nüsxələrini 3D kursorla obyektin arasına yerləşdirir. Nüsxələr səhnə kolleksiyasına əlavə olunur; mövqeləri obyektlə kursor arasındakı əlaqəyə əsasən hesablanır. İlk versiyada nüsxələrin ümumi sayı 10 olaraq sabitlənib. Bu nümunə təkrarlanan elementlər üçün alətlərin necə qurula biləcəyini izah etməklə yanaşı, istifadəçinin dəyişdirə bildiyi parametrlərin də əlavə oluna biləcəyini göstərir.
Komanda sətrindən render almaq üçün Blender-i -b və ya --background seçimi ilə arxa plan rejimində işə sala bilərsiniz. Rəsmi sənəddəki Cycles nümunəsi konkret kadrı və cihazı belə seçir:
blender -b file.blend -f 20 -- --cycles-device OPTIXBu əmr 20-ci kadrı render edir və OPTIX cihazını seçir. Təlimatda Cycles üçün etibarlı cihaz seçimləri CPU, CUDA, OPTIX, HIP, ONEAPI və METAL kimi göstərilir. Seçilən cihaz istifadə ediləcək sistemə uyğun olmalıdır.
Animasiya kadrlarını PNG formatında çıxarmaq üçün sənəddə ayrıca əmr nümunəsi də var:
blender -b animation.blend -o //render_ -F PNG -x 1 -aBu əmrdə -o çıxış yolunu, -F fayl formatını, -x uzantının əlavə edilməsini, -a isə animasiya kadrlarının render edilməsini bildirir. // ilə başlayan yol .blend faylına nəzərən hesablanır. Fayl adında # simvollarından istifadə olunarsa, onlar kadr nömrəsi üçün yer tutucu rolunu oynayır. Bu iki nümunə fərqli ehtiyaclara xidmət edir; kadr, fayl formatı, çıxış qovluğu və cihaz kimi seçimləri tələb olunan render növünə uyğunlaşdırmaq lazımdır.
Bu yanaşma təkrarlanan səhnə əməliyyatlarını avtomatlaşdırmaq istəyən Blender istifadəçiləri və render-i interfeysdən kənarda işlətməyi planlaşdıran komandalar üçün faydalı ola bilər. Bununla belə, mənbələrdə konkret avadanlıq tələbi və ya lisenziya xərci göstərilmir. Əlavə hazırlanarkən Blender versiyası ilə uyğunluq, render zamanı isə seçilmiş cihaz və dəqiq müəyyən edilmiş çıxış parametrləri yoxlanmalıdır.
Tez-tez rast gəlinən səhvlər və növbəti addımlar
Skripti işə salmaqla operatoru işə salmağı eyni addım hesab etməyin. Nümunədə ilk əməliyyat operatoru qeydiyyata alır; səhnədə dəyişiklik etmək üçün operator ayrıca çağırılmalıdır.
Operatorun əhatə dairəsini yoxlayın. Nümunədə aktiv səhnədəki bütün obyektlərin X koordinatı dəyişir.
bl_infodaxilindəki(2, 80, 0)dəyərini minimum versiya tələbi kimi qəbul edin; bunu daha yeni Blender versiyaları ilə uyğunluq zəmanəti saymayın.Arxa plan render-i zamanı fayl yolunu, çıxış formatını, kadr aralığını və Cycles cihazını ehtiyaca uyğun göstərin. Nümunə əmrlərdən birində digərində olmayan parametrlər ola bilər.
Növbəti mərhələdə Blender API sənədlərindəki bpy.context və bpy.types.Operator bölmələrini nəzərdən keçirmək olar. Rəsmi əlavə bələdçisi operator parametrləri ilə sabit dəyərləri istifadəçinin dəyişə biləcəyi hala gətirmək mövzusuna da toxunur. Alət böyüdükcə nüsxələrin sayı kimi dəyərləri tənzimlənən seçimlərə çevirmək müxtəlif səhnə ehtiyaclarını qarşılamağa kömək edə bilər.
Mənbə və lisenziya
Bu bələdçi Blender Manual-da yer alan “Add-on Tutorial” və “Command Line Arguments” sənədləri əsasında uyğunlaşdırılıb. Hər iki mənbə CC BY-SA 4.0 lisenziyası ilə yayımlanıb; məzmun həmin lisenziya şərtlərinə uyğun şəkildə Azərbaycan dilinə uyğunlaşdırılıb.
Mənbələr
2 mənbəMənbə mətnləri yenidən dərc edilmir; qısa sitatlar işarələnir, qalanı bizim xülasə və şərhimizdir.
Sadə operator nümunəsi Blender-da təkrarlanan işləri avtomatlaşdırmağa başlamaq istəyən memarlıq ofisləri və tələbələr üçün anlaşıqlı əsas yaradır. Əsas dəyər nümunədəki obyekt daşıma əməliyyatını olduğu kimi istifadə etməkdə deyil, operator, qeydiyyat və işə salma addımları arasındakı əlaqəni anlayıb layihənin ehtiyaclarına uyğunlaşdırmaqdadır.
Türkiyədə tətbiqə başlamazdan əvvəl komandanın Python təcrübəsini və istifadə ediləcək Blender versiyasını nəzərə almaq lazımdır. Mənbələrdə əlavə xərci və ya xüsusi avadanlıq tələbi göstərilmir. Arxa plan render-i zamanı isə seçilmiş Cycles cihazının sistemə uyğunluğunu yoxlamaq və çıxış parametrlərini dəqiq müəyyənləşdirmək vacibdir.
Tez-tez verilən suallar
Blender-da Python əlavəsi necə quraşdırılır?
Əlavə kodunu `.py` uzantılı faylda saxlayın. Preferences > Add-ons > Install… bölməsindən faylı seçib əlavəni aktivləşdirin.
Blender operatoru işə salınanda səhnə dərhal dəyişirmi?
Nümunədə skriptin işə salınması operatoru qeydiyyata alır. Səhnəni dəyişmək üçün Operator Search menyusundan operatoru ayrıca işə salmaq lazımdır.
Blender interfeys açmadan render ala bilərmi?
Bəli. Komanda sətrindəki `-b` və ya `--background` seçimi Blender-i arxa plan rejimində işə salır.



