Qısaca
- Python Console əmrləri Return ilə icra edir; əvvəlki əmrlərə tarixçə vasitəsilə yenidən müraciət etmək mümkündür.
- bpy.context cari səhnə və seçilmiş obyektlər kimi kontekst məlumatlarına çıxış verir.
- Aktiv obyektin mövqeyini Python Console vasitəsilə dəyişmək olar.
- Blender API sənədlərindəki nümunə ilə səhnəyə nöqtəvi işıq əlavə etmək mümkündür.
Blender-in Python Console aləti qısa kod parçalarını icra etməklə səhnə məlumatlarını yoxlamaq və Blender API-sini araşdırmaq üçün istifadə oluna bilər. Blender sənədlərindəki nümunələr aktiv obyektin mövqeyini dəyişməyi, seçilmiş obyektləri göstərməyi və səhnəyə yeni işıq əlavə etməyi nümayiş etdirir. Aşağıdakı addımlar Python Console-dan kiçik və nəzarət edilə bilən əməliyyatlar üçün istifadə etməyə yönəlib.
Bu bələdçidə nələri öyrənəcəksiniz?
Python Console daxil edilən əmri icra etməklə yanaşı, əmr tarixçəsi və avtomatik tamamlama imkanları da təqdim edir. İlk mərhələdə cari konteksti, yəni Blender-də aktiv olan obyekti və rejimi sorğulayacağıq. Sonra aktiv obyektin mövqeyini redaktə edəcək, seçilmiş obyektləri siyahıya alacaq və yeni işıq obyekti yaradacağıq.
Bu yanaşma hər əməliyyat üçün uzun skript hazırlamaqdansa, kiçik sınaqlar aparmaq üçün əlverişlidir. Əmr gözlənildiyi kimi işlədikdə Console tarixçəsi onu yenidən istifadə etməyi asanlaşdırır. Blender sənədlərinə görə, tarixçədəki əmrləri yuxarı və aşağı ox düymələri ilə çağırmaq, əmr sətrində isə Tab düyməsi ilə avtomatik tamamlama funksiyasını açmaq mümkündür.
Tələblər və hazırlıq
Bu nümunələr Blender-in Python Console alətinə və Blender Python API-si olan bpy-yə əsaslanır. Mənbə sənədlərdə konkret Blender versiyası nömrəsi, hesab tələbi, minimum avadanlıq göstəricisi və ya quraşdırma üsulu qeyd edilmir. Buna görə nümunələrdən istifadə edəcəyiniz versiyada API davranışını ayrıca yoxlamaq lazımdır.
Console-da əmr Return düyməsi ilə icra olunur. Əmr yazarkən Tab düyməsi mövcud üzvlər üçün avtomatik tamamlama təkliflərini göstərir. Blender sənədləri Console mühitini tanımaq üçün dir() əmrini icra etməyi də tövsiyə edir. İlk nümunə cari kontekstdəki rejimi və aktiv obyekti sorğulayır:
bpy.context.mode
bpy.context.active_objectBirinci sətir cari qarşılıqlı əlaqə rejimini, ikinci sətir isə aktiv obyekti göstərir. Sənədlərdə düzgün nəticə əldə etmək üçün 3D Viewport-da obyektin seçilmiş olması xüsusilə vurğulanır. Aktiv obyekt yoxdursa, obyektin xüsusiyyətlərinə müraciət edən əmrlər gözlənilən nəticəni verməyəcək. Buna görə redaktəyə başlamazdan əvvəl səhnədə uyğun obyektin aktiv olduğuna əmin olun.
Addım-addım: Console-da əsas əməliyyatlar
1. API üzvlərini araşdırın
Blender API-də hansı xüsusiyyətlərdən istifadə oluna biləcəyini araşdırarkən avtomatik tamamlamadan yararlana bilərsiniz. Console-a aşağıdakı ifadəni yazıb Tab düyməsini basmaq bpy daxilində alt modullar, xüsusiyyətlər və metodlar üçün təklifləri göstərir. Sənədlərdə metodların təkliflərdə adlarının sonunda mötərizə ilə fərqləndiyi qeyd olunur.
bpy.Dəyişənin və ya modulun üzvlərini araşdırmaq əzbərdən əmr yazmaqdansa, mövcud API-ni görərək irəliləməyə imkan verir. Console mühitində bpy.context üçün C, bpy.data üçün isə D qısa adlarından da istifadə olunur. İlk addım kimi dir() əmrini icra edib mühitdə müəyyən edilmiş ümumi funksiyaları və dəyişənləri araşdırmaq mümkündür.
2. Aktiv obyektin mövqeyini dəyişin
Kontekst vasitəsilə aktiv obyektə müraciət etmək olar. Sənədlərdə obyektin X koordinatını dəyişmək və koordinata kiçik artım əlavə etmək nümunələri var. Əvvəlcə obyektin cari koordinatını yoxlayın, sonra aşağıdakı əmrlə X oxu üzrə 0,5 vahid artım tətbiq edin:
bpy.context.object.location.x += 0.5Bu əmr aktiv obyektin mövqe xüsusiyyətini dəyişir. Obyekt seçilməyibsə, bpy.context.object uyğun obyekt qaytarmaya bilər. Buna görə əmri icra etməzdən əvvəl aktiv obyektin mövcudluğunu yoxlamaq vacibdir. Yuxarı ox düyməsi əvvəlki əmri tarixçədən çağırır, lakin bu, səhnədə edilmiş dəyişikliyi geri qaytarmır. Başqa koordinatı sınamazdan əvvəl aktiv obyekti və səhnədəki nəticəni yoxlayın.
3. Üç koordinatı birlikdə təyin edin
Mövqenin hər üç komponentini eyni anda redaktə etmək üçün koordinatları tuple şəklində vermək olar. Aşağıdakı nümunədə X, Y və Z qiymətləri müvafiq olaraq 1, 2 və 3 təyin edilir:
bpy.context.object.location = (1, 2, 3)Yalnız X və Y komponentlərini dəyişmək də mümkündür. Mövcud Z qiymətini qoruyaraq iki koordinata eyni vaxtda qiymət vermək lazım gəldikdə bu üsuldan istifadə etmək olar:
bpy.context.object.location.xy = (1, 2)Bu nümunələr aktiv obyektin mövqeyinə birbaşa müraciət edir. Səhnəni redaktə edərkən hansı obyektin aktiv olduğunu izləmək yanlış obyektin dəyişdirilməsinin qarşısını alır. Daha geniş əməliyyatlardan əvvəl tək bir obyekt üzərində sınaq aparmaq və nəticəni səhnədə yoxlamaq ehtiyatlı yanaşmadır.
4. Seçilmiş obyektləri göstərin
Bir neçə obyekt seçildikdə bpy.context.selected_objects seçilmiş obyektlərin siyahısını qaytarır. Aktiv obyekt xaricindəki seçilmiş obyektləri görmək üçün bu ifadədən istifadə etmək olar:
[obj for obj in bpy.context.selected_objects if obj != bpy.context.object]Bu nümunə seçilmiş obyektlər üzərində gəzir və aktiv obyektlə eyni olmayanları nəticə siyahısına əlavə edir. Beləliklə, aktiv obyektlə digər seçilmiş obyektlər arasındakı fərqi Console vasitəsilə araşdıra bilərsiniz. bpy.context cari səhnə, seçilmiş obyektlər və mövcud rejim kimi kontekst məlumatlarına, bpy.data isə seçilmiş və ya aktiv olub-olmamasından asılı olmayaraq blend faylındakı məlumatlara çıxış verir.
5. Səhnəyə nöqtəvi işıq əlavə edin
Blender API sənədlərindəki nümunə yeni işıq məlumat bloku və ondan istifadə edən obyekt yaradır, sonra onları aktiv kolleksiyaya bağlayır. Ardınca işığın mövqeyini təyin edir və obyekti seçərək aktivləşdirir. Aşağıdakı kod sənədlərdəki əsas nöqtəvi işıq nümunəsini təkrarlayır:
import bpy
view_layer = bpy.context.view_layer
light_data = bpy.data.lights.new(name="New Light", type='POINT')
light_object = bpy.data.objects.new(name="New Light", object_data=light_data)
view_layer.active_layer_collection.collection.objects.link(light_object)
light_object.location = (5.0, 5.0, 5.0)
light_object.select_set(True)
view_layer.objects.active = light_objectKod əvvəlcə işıq məlumatını yaradır, sonra isə həmin məlumatla əlaqəli obyekti səhnə kolleksiyasına əlavə edir. Mövqe təyin edildikdən və obyekt seçildikdən sonra yeni işıq aktiv obyekt olur. Sənədlərdəki nümunə belə bir obyektin yaradılması, səhnəyə bağlanması, mövqeyinin təyin edilməsi və aktivləşdirilməsi ardıcıllığını göstərir.
Tez-tez rast gəlinən xətalar
Ən əsas problemlərdən biri aktiv obyekt olmadan onun xüsusiyyətlərinə müraciət etməyə çalışmaqdır. Mövqe nümunələrindən əvvəl obyektin seçildiyini və aktiv olduğunu yoxlayın. Başqa obyektin redaktə edilməsi də çox vaxt kontekstdə aktiv olan obyektin gözdən qaçırılmasından qaynaqlanır.
Digər qarışıqlıq əmr tarixçəsini Console ekranını təmizləməklə eyniləşdirməkdir. Blender sənədlərinə görə, Console menyusundakı Clear All görünüşü yeniləyir, lakin əmr tarixçəsini silmir. Əvvəlki və növbəti əmrləri ox düymələri ilə çağırmaq olar. Shift+Return əmri icra etmədən tarixçəyə əlavə edir; əmri icra etmək üçün Return düyməsindən istifadə olunur.
Qısa sınaqlardan sonra əmrləri skript kimi saxlamaq istəyənlər sənədlərdə göstərilən Copy as Script qısayolu ilə tarixçə buferinin hamısını mübadilə buferinə köçürə bilərlər. Bu məzmunu mətn faylına yapışdırıb Python skripti kimi istifadə etmək mümkündür. Daha böyük işə başlamazdan əvvəl kodu və onun səhnəyə təsirini nəzərdən keçirmək sınaq əmrlərinin təsadüfən istehsal faylına köçürülməsinin qarşısını almağa kömək edir.
Memarlıq və vizuallaşdırma iş axınında istifadə
Memarlıq, interyer dizaynı və archviz işlərində Console aktiv obyektin mövqeyini tez dəyişmək, seçilmiş obyektləri araşdırmaq və ya səhnəyə işıq əlavə etmək kimi kiçik, təkrarlanan əməliyyatları sınamaq üçün faydalı ola bilər. Xüsusilə Blender səhnəsində Python API-sini öyrənməyə başlayan tələbələr və vizuallaşdırma mütəxəssisləri bir əmrə əsaslanan sınaqlarla kontekst və obyekt xüsusiyyətləri arasındakı əlaqəni müşahidə edə bilərlər.
Bununla belə, burada verilən nümunələr əsas səviyyədədir; mənbələr konkret layihə şablonu, render ayarı, avadanlıq tələbi və ya başqa proqramlarla uyğunluq barədə məlumat vermir. Ofis iş axınında avtomatlaşdırma planlaşdırılırsa, nümunələri istifadə olunan Blender versiyasında və layihədəki obyekt strukturu ilə sınaqdan keçirmək lazımdır. Əmrlərin səhnəyə təsirini yoxlamaq və lazım gəldikdə tarixçəni skript kimi saxlamaq kiçik sınaqları daha nizamlı prosesə çevirməyə kömək edir.
Növbəti addımlar
Əvvəlcə konteksti sorğulayan əmrlərlə başlayın, sonra mövqe və seçilmiş obyekt nümunələrini ayrı-ayrılıqda sınayın. Bir neçə əmri birləşdirmək lazım gəldikdə, Blender API sənədlərindəki Object nümunəsinə baxaraq məlumat bloku yaratmaq, onu kolleksiyaya bağlamaq və obyekti aktivləşdirmək ardıcıllığını izləyin. Operatorlar da adətən düymə və ya menyu ilə başladılan əməliyyatları proqram vasitəsilə çağırmağa imkan verir; uyğun operatoru seçmək üçün müvafiq API sənədlərinə baxmaq lazımdır.
Mənbə və lisenziya
Bu bələdçi Blender Manual-dakı “Python Console” səhifəsindən və Blender Python API-dəki “Object” istinadından yararlanaraq hazırlanıb. Hər iki mənbə CC BY-SA 4.0 lisenziyalıdır; məzmun Azərbaycan dilinə tərcümə edilərək yenidən işlənib, kod nümunələri isə müvafiq API sənədlərindəki istifadəyə əsaslanır.
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.
Türkiyədəki memarlıq ofisləri və tələbələr üçün bu bələdçinin praktik faydası Blender səhnəsindəki kiçik düzəlişləri API vasitəsilə sınaqdan keçirərək öyrənməyə imkan verməsidir. Seçilmiş obyekti sorğulamaq, mövqeyini dəyişmək və işıq əlavə etmək nümunələri daha geniş avtomatlaşdırmaya keçməzdən əvvəl yaxşı başlanğıc təqdim edir.
Lakin mənbələr versiya uyğunluğu, avadanlıq tələbi və ya məhsulun qiyməti barədə məlumat vermir. Buna görə nümunələri istehsal fayllarına tətbiq etməzdən əvvəl istifadə olunan Blender versiyasında və layihə səhnəsində yoxlamaq; lisenziya, avadanlıq və iş axını ilə bağlı qərarları da ayrıca dəyərləndirmək lazımdır.
Tez-tez verilən suallar
Blender Python Console-da əmr necə icra olunur?
Əmri Console sətrinə yazıb Return düyməsini basın. Tab avtomatik tamamlama təkliflərini göstərir; yuxarı və aşağı ox düymələri əmr tarixçəsində hərəkət etməyə imkan verir.
Blender-də aktiv obyektin mövqeyini Python ilə necə dəyişmək olar?
Aktiv obyektə bpy.context.object vasitəsilə müraciət edib location xüsusiyyətini redaktə etmək olar. Məsələn, X koordinatına 0,5 əlavə etmək üçün bpy.context.object.location.x += 0.5 əmrindən istifadə edilə bilər.
Python Console vasitəsilə Blender səhnəsinə işıq əlavə etmək mümkündürmü?
Bəli. Blender Python API sənədlərindəki nümunə nöqtəvi işıq məlumat bloku və obyekti yaradır, onları aktiv kolleksiyaya bağlayır, işığın mövqeyini təyin edir və onu aktivləşdirir.



