Qısaca
- Blender əlavəsi tətbiqin tanıyıb siyahıda göstərə bilməsi üçün əlavə məlumatlar daşıyan Python moduludur.
- Nümunə operator aktiv səhnədəki bütün obyektləri X oxu boyunca 1 vahid hərəkət etdirir.
- Əlavəni Blender-ın Mətn Redaktorunda sınaqdan keçirmək və .py faylı kimi yükləmək olar.
- Bələdçi Blender və Python əsasları ilə yanaşı modul və sinif anlayışlarını bilməyi tövsiyə edir.
Bu bələdçidə nə öyrənəcəksiniz?
Bu bələdçidə Blender-da işləyən sadə Python skriptini operatora, sonra isə yüklənə bilən əlavəyə çevirəcəksiniz. Nümunə alət aktiv səhnədəki bütün obyektləri X oxu boyunca 1 vahid hərəkət etdirir. Məqsəd hazır istehsal aləti təqdim etmək deyil; Blender-ın operatorları necə təyin etdiyini, qeydiyyata aldığını və işə saldığını addım-addım izah etməkdir.
Əlavə Blender-ın tanıyıb siyahısında göstərə bilməsi üçün tələb olunan əlavə məlumatları daşıyan Python moduludur. bl_info lüğəti əlavənin adı və kateqoriyası kimi məlumatlarla yanaşı, işləməsi üçün tələb olunan ən aşağı Blender versiyasını göstərir. Operator isə əməliyyatı Blender daxilindən çağırmağa imkan verir. Bu nümunədə əməliyyatı Operator Axtarışı pəncərəsindən işə salacağıq.
Vacib məqam: nümunə yalnız seçilmiş obyektlərə deyil, aktiv səhnədəki bütün obyektlərə təsir edir. Buna görə ilk sınaqları vacib layihə faylında deyil, sınaq səhnəsində və ya faylın surətində aparmaq daha təhlükəsizdir.
Tələblər
Blender-dan əsas səviyyədə istifadə etməyi və Mətn Redaktorunda skript işə salmağı bacarmağınız gözlənilir. Python-da ədəd, Boolean, mətn, siyahı, kortej, lüğət və çoxluq kimi əsas tiplərlə tanışlıq da tövsiyə olunur. Bələdçi həmçinin Python modulları və sinifləri barədə əsas biliklərə sahib olmağı məsləhət görür.
Bələdçidəki nümunənin əlavə məlumatlarında Blender versiyası (2, 80, 0) kimi göstərilib. Bu, nümunənin metadata-sında yazılmış ən aşağı versiya məlumatıdır; kodun cari Blender versiyalarında ayrıca sınaqdan keçirildiyi mənasına gəlmir. İstifadə etdiyiniz versiyada API davranışını yoxlamaq lazımdır. İstifadəçi hesabı, aparat xüsusiyyəti və ya ödənişli lisenziya tələbi qeyd edilmir.
Sazlama üçün Blender-ı terminaldan işə salmaq variantlardan biridir. Bələdçidə həmçinin tərcihlərdən Developer Extras-ı aktivləşdirməyin əlavə hazırlama prosesinə kömək edə biləcəyi bildirilir.
Addım-addım: ilk operatorunuzu yazın
1. Kodu Mətn Redaktoruna əlavə edin
Aşağıdakı nümunədə ObjectMoveX sinfi operatoru təyin edir. execute() işə salındıqda aktiv səhnənin obyektləri bir-bir nəzərdən keçirilir və hər birinin X koordinatına 1.0 əlavə olunur. bl_options daxilindəki UNDO seçimi operatorun geri qaytarma dəstəyi ilə işləməsini təmin edir.
bl_info = {
"name": "Move X Axis",
"blender": (2, 80, 0),
"category": "Object",
}
import bpy
class ObjectMoveX(bpy.types.Operator):
"""My Object Moving Script"""
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()Bu sadə nümunə operator sinfini qeydiyyata alır; menyuya interfeys elementi əlavə etmir. unregister() isə qeydiyyata alınmış sinfi silir. bl_idname operatorun unikal identifikatorunu, bl_label isə Blender interfeysində və axtarışda görünən adını bildirir. Əməliyyat uğurla başa çatdıqda execute() funksiyası FINISHED nəticəsini qaytarır.
2. Skripti işə salın və operatoru çağırın
Kodu Blender-ın Mətn Redaktoruna yapışdırıb işə salın. Skript operatoru qeydiyyata alır; bu mərhələdə obyektləri özü hərəkət etdirmir. Sonra Operator Axtarışı pəncərəsini açın, Move X by One adını axtarın və operatoru işə salın. Əməliyyat aktiv səhnədəki bütün obyektləri X istiqamətində 1 vahid hərəkət etdirir.
execute(self, context) daxilində context parametrindən istifadə etmək vacibdir. Blender bəzi hallarda operatorları xüsusi kontekstlə işə sala bilər. Buna görə bələdçi birbaşa ümumi kontekstə müraciət etməkdənsə, operatora ötürülən context dəyərindən istifadə etməyi tövsiyə edir.
3. Fayla yazıb əlavə kimi yükləyin
Sınaqdan keçirdiyiniz skripti fayla yazın. Fayl adını Python modulunda istifadə oluna biləcək formada seçin və .py uzantısı əlavə edin. Blender tərcihlərindəki Əlavələr bölməsində yükləmə seçimini açın, faylı seçin və əlavəni siyahıdan aktivləşdirin. Yenidən başladıqdan sonra da aktiv qalmasını istəyirsinizsə, bələdçidəki Save as Default seçimini istifadə edə bilərsiniz.
Əlavənin aktivləşdirilməsi Blender-ın modulu işə salaraq register() daxilindəki qeydiyyat əməliyyatlarını yerinə yetirməsini təmin edir. Əlavəni söndürəndə Blender bu dəfə unregister() funksiyasını çağırır; nümunədə bu, operator sinfinin silinməsi deməkdir. Quraşdırma zamanı mənbə və təyinat qovluqları konsolda göstərilə bilər. Bələdçidə əlavə yollarına Python Konsolunda addon_utils.paths() vasitəsilə baxmaq üsulu da izah olunur.
Memarlıq və vizuallaşdırma iş axınında istifadə
Bu nümunə texniki rəssamların və ya tərtibatçıların təkrarlanan işləri Blender daxilində operatora çevirməsinin əsas məntiqini göstərir. Memarlıq səhnələrində oxşar yanaşma aydın şəkildə müəyyənləşdirilə bilən və dəfələrlə görülən əməliyyatlar üçün xüsusi alətlər hazırlamağa başlanğıc ola bilər. Bununla belə, bu kod istehsal səhnəsində birbaşa istifadəyə hazır ofis aləti deyil: aktiv səhnədəki bütün obyektlərin mövqeyini dəyişir.
İlk sınaq üçün səhnənin surətindən istifadə edin və operatorun hansı obyektlərə təsir etdiyini yoxlayın. Əlavəni komanda ilə paylaşmazdan əvvəl hədəf Blender versiyasını və istifadə olunan API elementlərinin uyğunluğunu ayrıca yoxlayın. Mənbədə konkret aparat tələbi göstərilmir, buna görə aparatla bağlı tövsiyə vermək mümkün deyil. Lisenziya şərtləri və versiya uyğunluğu da yaymazdan əvvəl nəzərdən keçirilməlidir.
Tez-tez edilən səhvlər
Skripti işə salan kimi obyektlərin hərəkət edəcəyini gözləmək: İlk işə salma operatoru qeydiyyata alır. Obyektləri dəyişmək üçün Operator Axtarışı pəncərəsindən
Move X by Oneseçilməlidir.Təsir dairəsini nəzərdən qaçırmaq: Kod seçilmiş obyektlərlə məhdudlaşmır; aktiv səhnədəki bütün obyektləri emal edir.
Fayl formatını unutmaq: Əlavə faylını
.pyuzantısı ilə saxlayın və Python modulunda istifadə oluna bilən ad seçin.Yadda saxlamaqla aktivləşdirməni eyni əməliyyat hesab etmək: Faylı yadda saxlamaq əlavəni öz-özlüyündə aktivləşdirmir. Fayl tərcihlərdən yüklənməli və siyahıdan aktiv edilməlidir.
Növbəti addımlar
Əvvəlcə nümunəni sınaq səhnəsində işə salın və operatorun nəticəsini müşahidə edin. Sonra bl_info, operator sinfi, execute() və qeydiyyat funksiyalarının vəzifələrini ayrı-ayrılıqda araşdırın. Növbəti inkişaf mərhələsində sabit dəyərləri istifadəçinin tənzimləyə biləcəyi operator xüsusiyyətlərinə çevirməyi öyrənə bilərsiniz; Blender bələdçisinin davamında bu mövzu və əlaqəli obyektlərin surətlərini yaradan başqa bir nümunə nəzərdən keçirilir.
Xəta mesajları ilə qarşılaşdıqda Blender-ın konsol çıxışına baxmaq problemin hansı mərhələdə yarandığını anlamağa kömək edə bilər. Blender API icmalı, bpy.context və bpy.types.Operator sənədləri də bələdçinin göstərdiyi anlayışları daha ətraflı araşdırmaq üçün mənbələr arasındadır.
Mənbə və lisenziya
Bu bələdçi Blender-ın rəsmi “Add-on Tutorial” sənədindəki əlavə və operator nümunəsi əsasında Azərbaycan dilinə uyğunlaşdırılıb. Mənbə CC BY-SA 4.0 lisenziyası ilə yayımlanır.
Mənbələr
1 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.
Blender-da təkrarlanan səhnə əməliyyatlarını kiçik alətlərə çevirmək Python bilən memarlıq ofislərinin komandaları və texniki rəssamlar üçün faydalı başlanğıcdır. Ancaq bu nümunənin təsir dairəsi genişdir: səhnədəki bütün obyektləri hərəkət etdirir. Buna görə əvvəlcə surət üzərində sınaqdan keçirmək, real layihəyə uyğunlaşdırarkən isə operatorun əhatə dairəsini diqqətlə müəyyənləşdirmək lazımdır.
Mənbədə konkret aparat və ya ödəniş tələbi göstərilmir; burada əsas diqqət yetirilməli məqamlar əlavənin hədəflədiyi Blender versiyası, API uyğunluğu və onun komanda daxilində necə paylanacağıdır. Tələbələr üçün əsas qazanc isə Python skriptinin Blender-da operator kimi necə qeydiyyata alınıb çağırıldığını anlamaqdır.
Tez-tez verilən suallar
Blender-da Python əlavəsini necə işə salmaq olar?
Kodu Mətn Redaktorunda işə salaraq operatoru qeydiyyata alın. Sonra Operator Axtarışı pəncərəsində operatorun etiketini axtarıb işə salın.
Blender Python əlavəsi necə yüklənir?
Faylı `.py` uzantısı ilə saxlayın, Blender tərcihlərinin Əlavələr bölməsindən yükləyin və siyahıdan aktivləşdirin.
Nümunə Blender əlavəsi hansı obyektləri hərəkət etdirir?
Nümunə operator aktiv səhnədəki bütün obyektləri X oxu boyunca 1 vahid hərəkət etdirir; yalnız seçilmiş obyektlərlə məhdudlaşmır.



