Son xəbərlər
Adventure Play Student Design Challenge aşağıbüdcəli oyun meydançaları axtarırBlender Python API ilə kolleksiyaları nizamlamaq və render almaq üzrə bələdçiMugak/ 2027 açıq çağırışı mədəni layihələr üçün 150 min avro büdcə təklif edirBlender 5.3 3D Gaussian splatları içə və render edə bilirBlender-da PLY və Alembic fayllarını necə idxal və ixrac etmək olar?Rhino 8-də kəsik və 2D çertyoj hazırlamaq: ClippingSections bələdçisiSANAA sərgisi Taichungda açılır: 30 illik istehsal və proses maketləriBlender Python ilə memarlıq səhnələrində material parametrləri: 5 addımdaUnreal Engine-də Nanite və Virtual Shadow Maps ilə memarlıq səhnəsi hazırlamaqBlender-də əyri modelləmə: memarlıq profillərini yol boyunca yaratmaq
TəlimlərBlender

Blender Python API ilə kolleksiyaları nizamlamaq və render almaq üzrə bələdçi

Blender Python API sənədləri kolleksiyaları və alt kolleksiyaları nizamlamaq, görünürlük və Line Art parametrlərini idarə etmək, render əməliyyatlarını yerinə yetirmək üçün alətlər təqdim edir. Bu bələdçi memarlıq səhnələrində əsas addımları nümunələrlə izah edir.

Səliqəli model qruplarını xatırladan müasir interyer və memarlıq maketiSüni intellekt şəkli
Təmsili şəkil, süni intellektlə yaradılıb.Şəkil: 3dsınıfı / FCA AI

Qısaca

  1. Collection obyektləri və alt kolleksiyaları birlikdə nizamlamaq üçün istifadə oluna bilər.
  2. Kolleksiyanın görünüş sahəsində və render zamanı görünməsi ayrı-ayrı parametrlərlə idarə olunur.
  3. 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.
  4. 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.

python
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:

python
collection.hide_viewport = True
collection.hide_render = False

Bu 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:

python
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:

python
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:

python
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_viewport və hide_render ayrı-ayrı xüsusiyyətlərdir. İstədiyiniz görünməni hər ikisində yoxlayın.

  • Alt kolleksiyaları nəzərdən qaçırmaq: objects birbaşa üzvləri göstərir; alt kolleksiyaları da nəzərə almaq üçün all_objects xü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.opengl aktiv 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ə
D(
docs.blender.org (CC BY-SA 4.0)docs.blender.org/api/current/bpy.types.Collection.html
Xülasə
D(
docs.blender.org (CC BY-SA 4.0)docs.blender.org/api/current/bpy.ops.render.html
Xülasə

Mənbə mətnləri yenidən dərc edilmir; qısa sitatlar işarələnir, qalanı bizim xülasə və şərhimizdir.

3dsınıfı rəyi
3dRedaktorun qiymətləndirməsi

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.

Şərhlər və forum türkcədir.Müzakirəyə qoşulun
+

Əlaqəli xəbərlər