Qısaca
- Collection obyektləri və alt kolleksiyaları birlikdə nizamlamaq üçün istifadə oluna bilər.
- Kolleksiyanın görünüş sahəsində və render zamanı görünməsi ayrı-ayrı parametrlərlə idarə olunur.
- Line Art üçün daxil etmə, xaric etmə və kəsişmə davranışlarını təyin edən kolleksiya seçimləri sənədləşdirilib.
- Render API-sində aktiv görünüşün şəklini almaq və səhnə renderini başlatmaq əməliyyatları mövcuddur.
Bu bələdçidə nə öyrənəcəksiniz?
Blender səhnələri böyüdükcə memarlıq modeli, mebel, işıqlandırma və ətraf mühit elementlərini səliqəli saxlamaq, hansı hissələrin göründüyünü və ya çıxışa daxil olduğunu izləmək çətinləşə bilər. Blender Python API-dəki Collection strukturu obyektləri qruplar və alt kolleksiyalar şəklində iyerarxik qaydada nizamlamağa kömək edir. Bu bələdçidə kolleksiya yaradıb onu səhnəyə bağlamağı, kolleksiyaların görünməsini tənzimləməyi, Line Art seçimlərini öyrənməyi və render operatorlarından istifadə etməyi addım-addım nəzərdən keçiririk.
Nümunələr Blender-in aktual API sənədlərində sadalanan xüsusiyyət və əməliyyatlara əsaslanır. Sənədlərdə konkret Blender versiyasının nömrəsi göstərilmədiyinə görə nümunələri istifadə etməzdən əvvəl mövcud iş mühitində sınaqdan keçirmək lazımdır. Kodlarda göstərilən kolleksiya adlarını və səhnə quruluşunu layihənizə uyğunlaşdırın.
Tələblər
Blender və Python API-yə çıxış tələb olunur. Mənbələr Blender API-sinin aktual sənədləridir; konkret versiya nömrəsi göstərilmir.
Mənbələrdə hesab və ya abunəlik şərtlərindən bəhs edilmir. Sənədlərdə Blender-dən istifadə üçün aparat tələbləri və ya render müddəti barədə də məlumat yoxdur.
Nümunələr səhnədəki kolleksiya və obyektlər üzərində əməliyyat aparır. Tətbiq etməzdən əvvəl vacib layihə fayllarının surətini saxlamaq və kodu kiçik sınaq səhnəsində yoxlamaq məqsədəuyğundur.
Addım-addım: səhnəni kolleksiyalarla nizamlamaq
1. Yeni kolleksiya yaradıb səhnəyə bağlayın
Aşağıdakı kod yeni kolleksiya yaradır və onu aktiv səhnənin əsas kolleksiyasına bağlayır. Blender API sənədlərində kolleksiya yaratmaq və alt kolleksiyaları bağlamaq əməliyyatları sadalanır. Nümunədəki “Mobilya” adı interyer layihəsində mebel elementlərini qruplaşdırmaq üçün istifadə oluna bilər.
collection = bpy.data.collections.new("Mobilya")
bpy.context.scene.collection.children.link(collection)Kolleksiyanın yaradılması səhnədəki obyektlərin avtomatik olaraq bu qrupa köçürülməsi demək deyil. Obyektlərin üzvlüyünü ayrıca tənzimləmək lazımdır. Kolleksiyanın objects xüsusiyyəti birbaşa həmin kolleksiyada olan obyektləri, all_objects isə alt kolleksiyalardakı obyektlər də daxil olmaqla hamısını ifadə edir. Bu fərqi bilmək əsas kolleksiya və alt qruplardan ibarət səhnələrdə ümumi məzmunu düzgün qiymətləndirməyə kömək edir.
2. Alt kolleksiyalarla iyerarxiya yaradın
Memarlıq vizuallaşdırması faylında əsas “İç Mekân” kolleksiyasının altında mebel və işıqlandırma kimi qruplar yaratmaq olar. Blender API sənədlərində children birbaşa alt kolleksiyaları, children_recursive isə bütün alt kolleksiyaları sadalayan xüsusiyyətlər kimi göstərilir. İyerarxiyanı nəzərdən keçirərkən hansı səviyyədəki məzmuna ehtiyacınız olduğunu müəyyənləşdirin.
all_objects xüsusiyyəti kolleksiyanın özündə və onun alt kolleksiyalarında yerləşən obyektləri əhatə edir və yalnız oxumaq üçündür. Buna görə məzmunu bu xüsusiyyət vasitəsilə deyil, kolleksiya obyektləri və alt kolleksiyalar üzərindəki əməliyyatlarla nizamlamaq lazımdır. Sənədlərdə həmçinin children_recursive siyahısının yaradılmasının alt kolleksiyaların sayından asılı olaraq vaxt apardığı qeyd olunur; çoxqatlı iyerarxiyada bu xüsusiyyətdən istifadə edərkən bunu nəzərə alın.
3. Görünüş sahəsi və render görünməsini ayrı-ayrılıqda idarə edin
hide_viewport kolleksiyanı görünüş sahəsində, hide_render isə render zamanı ümumilikdə deaktiv etməyə imkan verir. Bu iki parametr bir-birini əvəz etmir. Məsələn, qrupu iş görünüşündə gizlədib renderdə görünən saxlamaq üçün aşağıdakı kimi ayrı dəyərlər təyin etmək olar:
collection.hide_viewport = True
collection.hide_render = FalseBu nümunədə kolleksiya görünüş sahəsində gizlədilir, render zamanı isə deaktiv edilmir. Ehtiyac fərqlidirsə, dəyərləri buna uyğun dəyişin. Nəticəni yalnız bir yerdə yoxlamaq kifayət deyil: görünüş sahəsini və render çıxışını ayrıca nəzərdən keçirin.
4. Line Art davranışını kolleksiya səviyyəsində seçin
Blender sənədlərində kolleksiyaların Line Art hesablamasında necə nəzərə alınacağını müəyyən edən seçimlər təqdim olunur. Rejimlərə INCLUDE, OCCLUSION_ONLY, EXCLUDE, INTERSECTION_ONLY, NO_INTERSECTION və FORCE_INTERSECTION daxildir. Bu seçimlər kolleksiyadan xətlərin yaradılması, yalnız örtüşmənin yaradılması, hesablamadan kənarlaşdırma və ya kəsişmə xətlərinin işlənməsi kimi fərqli davranışları ifadə edir.
Aşağıdakı nümunədə kolleksiya üçün yalnız örtüşmə yaradan rejim seçilir:
collection.lineart_usage = 'OCCLUSION_ONLY'Kəsişmələrlə bağlı əlavə nəzarət tələb olunarsa, sənədlərdə lineart_use_intersection_mask və use_lineart_intersection_priority xüsusiyyətləri də göstərilir. Kəsişmə prioriteti lineart_intersection_priority ilə təyin edilə bilər; API sənədində bu dəyər üçün 0–255 aralığı göstərilir. Bu seçimləri səhnədə Line Art hesablamasından istifadə edildikdə və tələb olunan davranış dəqiq məlum olduqda nəzərdən keçirin.
Aktiv görünüşdən şəkil almaq və render
bpy.ops.render.opengl operatoru aktiv görünüş sahəsinin şəklini almaq üçün sənədləşdirilib. write_still seçimi animasiya deaktiv olduqda şəklin çıxış yolunda saxlanmasını təmin edir:
bpy.ops.render.opengl(write_still=True)Bu əməliyyat ümumi səhnə renderi ilə eyni deyil. API-də bpy.ops.render.render adı ilə göstərilən operator səhnə renderini başlatmaq üçün istifadə oluna bilər. Nümunədə tək şəklin saxlanması seçimi verilib:
bpy.ops.render.render(write_still=True)Render operatorunun sənədləşdirilmiş parametrləri arasında animasiya, görünüş sahəsindən istifadə, səhnə seçimi, həmçinin animasiya üçün başlanğıc və son kadrlar var. Kadr aralığı seçimləri animasiya renderi üçündür. API səhifəsində bu əməliyyatlar və parametrlər təsvir olunsa da, layihə üçün tələb olunan bütün çıxış parametrləri göstərilmir; render etməzdən əvvəl səhnənizin parametrlərini yoxlayın.
Tez-tez rast gəlinən xətalar
Viewport və render parametrlərini eyni hesab etmək:
hide_viewportvəhide_renderayrı-ayrı xüsusiyyətlərdir. İstədiyiniz görünməni hər ikisində yoxlayın.Alt kolleksiyaları nəzərdən qaçırmaq:
objectsbirbaşa üzvləri göstərir; alt kolleksiyaları da nəzərə almaq üçünall_objectsxüsusiyyətinin əhatə dairəsini nəzərə alın.Line Art rejimini təsadüfi seçmək: Seçimlər fərqli xətt və kəsişmə davranışlarını müəyyən edir. İstədiyiniz nəticəyə uyğun seçim edin və kiçik sınaq səhnəsində yoxlayın.
Viewport şəklini səhnə renderi hesab etmək:
bpy.ops.render.openglaktiv görünüşü təsvir edir; ümumi render üçün ayrıca operator mövcuddur.API sənədində göstərilməyən davranışları fərz etmək: Mənbələr konkret layihə parametrləri, render sürəti və ya aparat tələbləri barədə məlumat vermir. Bu təfərrüatları öz səhnənizdə və iş mühitinizdə sınaqdan keçirin.
Memarlıq və vizuallaşdırma iş axınına təsiri
Memarlıq ofisləri və vizuallaşdırma komandaları model, mebel, işıqlandırma və ətraf mühit elementlərini kolleksiyalarla qruplaşdıraraq səhnə iyerarxiyasını daha anlaşıqlı qura bilərlər. Görünüş sahəsi və render görünməsini ayrı-ayrılıqda idarə etmək iş zamanı lazım olmayan elementləri gizlədib çıxışdakı məzmunu fərqli saxlamağa imkan verir. Line Art-dan istifadə edən, cizgilərə əsaslanan təqdimatlarda isə kolleksiya səviyyəsindəki rejimlər qrupların xətt hesablamasına necə qoşulacağını müəyyən etməyə kömək edir.
Bu API sənədləri konkret plaginlə uyğunluğa, aparat səviyyəsinə və ya Blender versiyasına dair zəmanət vermir. Ofislərdə ortaq fayllar üçün avtomatlaşdırma qurmadan əvvəl kodu istifadə olunan Blender mühitində və kiçik sınaq faylında yoxlayın. Lisenziya baxımından mənbə sənədlərin CC BY-SA 4.0 şərtini də nəzərə alın; bu lisenziya sənəd məzmununun istifadəsinə aiddir.
Növbəti addımlar
Əvvəlcə kiçik sınaq səhnəsində kolleksiya iyerarxiyası yaradın və görünüş sahəsi ilə render parametrlərini ayrı-ayrılıqda dəyişərək nəticələri müqayisə edin. Daha sonra Line Art istifadə olunursa, uyğun rejimi seçib çıxışdakı xətləri yoxlayın. Render operatorlarına keçməzdən əvvəl səhnənin çıxış parametrlərini təsdiqləyin. API sənədlərində həmçinin Cycles tekstura keşini yaratmaq və təmizləmək əməliyyatları da sadalanır; bunlar kolleksiyaların nizamlanması və əsas render iş axınından ayrı operatorlardır.
Mənbə və lisenziya
Bu bələdçi Blender Python API-nin Collection və render operatorları sənədlərindən Azərbaycan dilinə uyğunlaşdırılıb. Hər iki mənbə CC BY-SA 4.0 lisenziyası ilə təqdim olunur.
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ə vizuallaşdırma komandaları üçün kolleksiyaları API vasitəsilə idarə etmək təkrarlanan səhnə nizamlama işlərini daha ardıcıl edə bilər. Xüsusilə model, mebel və ətraf mühit elementlərini müxtəlif qruplarda saxlamaq fayl iyerarxiyasını izləməyi asanlaşdıra bilər.
Bununla belə, sənədlər performans, aparat tələbləri və ya konkret Blender versiyası ilə uyğunluq zəmanəti vermir. Avtomatlaşdırmanı əvvəlcə kiçik nümunədə sınaqdan keçirmək və istifadə olunan iş mühitində yoxlamaq vacibdir. Mənbə sənədlər CC BY-SA 4.0 lisenziyalıdır; mümkün xərclər barədə isə məlumat verilmir.
Tez-tez verilən suallar
Blender-də kolleksiyanın renderdə görünməsini necə söndürə bilərəm?
Kolleksiyanın `hide_render` xüsusiyyətini aktivləşdirin. `hide_viewport` görünüş sahəsindəki görünməni ayrıca idarə edir.
Blender Python API ilə aktiv görünüşün şəklini almaq mümkündürmü?
Bəli. API sənədlərində `bpy.ops.render.opengl` aktiv görünüş sahəsinin şəklini alan operator kimi təsvir olunur. `write_still` seçimi animasiya deaktiv olduqda şəkli çıxış yolunda saxlaya bilər.
Blender kolleksiyalarında Line Art üçün hansı seçimlər var?
`INCLUDE`, `OCCLUSION_ONLY`, `EXCLUDE`, `INTERSECTION_ONLY`, `NO_INTERSECTION` və `FORCE_INTERSECTION` rejimləri sənədləşdirilib.



