Qısaca
- Obyektin aktiv materialına bpy.context.view_layer.objects.active vasitəsilə daxil olmaq mümkündür.
- Material.roughness və Material.metallic dəyərləri 0 ilə 1 aralığında təyin olunur.
- Şəffaflıq metodu üçün aktual sənədlərdə surface_render_method xüsusiyyəti önə çıxır.
- Həqiqi səth yerdəyişməsi seçimi sıx alt bölümləndirmə tələb edir.
Bu bələdçidə Blender-in Python API-si ilə səhnədəki obyektin aktiv materialına necə daxil olmağı və əsas görünüş parametrlərini dəyişməyi öyrənəcəksiniz. Blender-in aktual API sənədlərində materialların pürüzlülük, metallic əks etdirmə, rəng, şəffaflıq metodu və yerdəyişmə yanaşması kimi xüsusiyyətləri təsvir olunur. Nümunələr memarlıq vizuallaşdırmasında divar, taxta, metal və şüşəyə bənzər səthləri tənzimləmək üçün başlanğıc nöqtəsi kimi istifadə edilə bilər. Buradakı kodlar mövcud səhnə və material üzərində işləyir; sıfırdan material yaratmağı və ya düyün əsaslı material qurmağı əhatə etmir.
Bu təlimdə nələri öyrənəcəksiniz?
Əvvəlcə aktiv obyektin materialını Python vasitəsilə necə yoxlamağı görəcəksiniz. Ardınca rəng, roughness və metallic dəyərlərini tənzimləyəcək, şəffaflıq və yerdəyişmə seçimlərinin nə demək olduğunu, hansı məhdudiyyətləri nəzərə almaq lazım gəldiyini araşdıracaqsınız.
Bu yanaşma xüsusilə təkrarlanan səhnə düzəlişlərində və ya material dəyərlərini kodla dəyişmək istəyən istifadəçilər üçün faydalı ola bilər. Bununla belə, API xüsusiyyətlərini dəyişmək öz-özlüyündə hər hansı vizual nəticəyə zəmanət vermir. Mənbə sənədlərdə materialın tam düyün quruluşu və ya konkret memarlıq səthi üçün hazır shader resepti təqdim edilmir. Buna görə kod parçalarını mövcud materialın parametrlərini dəyişən kiçik əməliyyatlar kimi nəzərdən keçirin.
Tələblər
Blender-də açıq səhnə və aktiv obyekt olmalıdır.
Aktiv obyektə material təyin edilməlidir. Aktiv material olmadıqda kod heç bir dəyişiklik etmir.
Blender Python API-də
bpy.context.view_layer.objects.activeilə aktiv obyektə, obyektinactive_materialxüsusiyyəti ilə isə onun aktiv materialına daxil olmaq mümkündür.Bu nümunələr hesab, abunəlik və ya ayrıca əlavə tələb etmir. Mənbə Blender-in aktual API sənədləridir; konkret Blender versiyası üçün ayrıca quraşdırma təlimatı verilmir.
Sənədlərdə use_nodes xüsusiyyətinin 5.0 versiyasından etibarən köhnəldiyi və 6.0 versiyasında silinməsinin planlaşdırıldığı qeyd olunur. Bu təlim həmin xüsusiyyətə əsaslanmadığı üçün kod parçalarında use_nodes istifadə edilmir. Sənədlərdə həmçinin şəffaf səthlərin qarışdırma metodu üçün köhnə blend_method əvəzinə surface_render_method istifadə edilməli olduğu yazılıb.
Material parametrlərinin addım-addım tənzimlənməsi
1. Aktiv obyektin materialını yoxlayın
İlk addımda Blender-in aktiv obyektini götürün və ona aktiv material təyin edilib-edilmədiyini yoxlayın. Aşağıdakı kodu Blender Python API kontekstində işlədin:
obj = bpy.context.view_layer.objects.active
material = obj.active_material if obj else None
if material is not None:
print(material.name)Aktiv obyekt varsa, kod onun aktiv materialını dəyişənə mənimsədir. Material mövcud olduqda onun adını çap edir; beləliklə, növbəti parametrləri hansı material üzərində dəyişdiyinizi yoxlaya bilərsiniz. Aktiv obyekt və ya material yoxdursa, kod parametrləri redaktə etmə mərhələsinə keçmir.
2. Rəng, pürüzlülük və metallic dəyərini tənzimləyin
Material məlumat blokunda diffuse_color, roughness və metallic xüsusiyyətləri mövcuddur. Sənədlərdə diffuse_color dörd komponentli rəng massivi kimi təsvir edilir; roughness və metallic üçün etibarlı diapazon 0 ilə 1 arasındadır. Aşağıdakı nümunə əvvəlki addımda əldə edilən material dəyişəni vasitəsilə bu sahələri təyin edir:
if material is not None:
material.diffuse_color = (0.55, 0.35, 0.20, 1.0)
material.roughness = 0.6
material.metallic = 0.0Bu dəyərlər müvafiq API sahələrinə nümunə təyinatlardır; onların konkret taxta, boya və ya metal üçün düzgün fiziki qarşılıq olduğu anlamına gəlmir. Memarlıq vizuallaşdırmasında materialın görünüşünü səhnənin işıqlandırması və istifadə etdiyiniz material quruluşu ilə birlikdə yoxlayın. Mənbə sənəddə bu dəyərlərin öz-özlüyündə real dünyadakı səth ölçmələrinə uyğun gəldiyi deyilmir.
3. Şəffaflıq metodunu seçin
Aktual sənədlərdə surface_render_method xüsusiyyəti üçün iki seçim göstərilir: DITHERED və BLENDED. DITHERED boz tonlu hash şəffaflığına imkan verir və render pass-ləri, eləcə də şüa izləmə xüsusiyyətləri ilə uyğun kimi təsvir edilir. BLENDED isə rəngli şəffaflıq təmin edir, lakin render pass-ləri və şüa izləmə ilə uyğun deyil.
if material is not None:
material.surface_render_method = 'DITHERED'Bu parametr şəffaflığın necə qarışdırılacağını müəyyən edir; onun öz-özlüyündə şüşə görünüşü yaratdığını düşünməyin. Mənbədə şəffaflıq üçün lazım olan bütün shader düyünlərinin və ya alfa dəyərlərinin necə qurulacağı izah edilmir. Həmçinin köhnə blend_method xüsusiyyəti istifadədən çıxarılmış kimi işarələnib; yeni skriptdə aktual sənədlərdə göstərilən surface_render_method sahəsinə üstünlük verin.
4. Yerdəyişmə yanaşmasını müəyyən edin
Material sənədlərində displacement_method üçün BUMP, DISPLACEMENT və BOTH seçimləri göstərilir. BUMP yerdəyişmə görünüşünü bump mapping ilə təqlid edir. DISPLACEMENT yalnız həqiqi səth yerdəyişməsindən istifadə edir və sıx alt bölümləndirmə tələb edir. BOTH isə həqiqi yerdəyişməni bump yanaşması ilə birləşdirir.
if material is not None:
material.displacement_method = 'BUMP'Bu nümunə həqiqi həndəsi detal tələb etməyən başlanğıc parametridir. Həqiqi yerdəyişməni sınamaq istəyirsinizsə, sənədlərdə göstərilən sıx alt bölümləndirmə şərtini nəzərə alın; mənbədə tələb olunan alt bölmə sayı göstərilmir. Buna görə konkret dəyər təklif etməkdənsə, səhnə və həndəsə üzərində nəzarətli sınaq aparın.
5. Dəyişiklikləri birlikdə tətbiq edin
Bir neçə parametri eyni şərt daxilində dəyişmək aktiv material yoxlamasını bir yerdə saxlamağa imkan verir. Aşağıdakı nümunə əvvəlki addımlardakı sahələri birləşdirir:
if material is not None:
material.roughness = 0.45
material.metallic = 0.0
material.surface_render_method = 'DITHERED'
material.displacement_method = 'BUMP'Buradakı ədədlər nümunə dəyərləridir; hər səhnəyə uyğun universal resept deyil. Öz faylınızda hər dəyişiklikdən sonra render nəticəsini və materialın mövcud quruluşunu yoxlayın. Bir neçə materiala toplu tətbiq, material yaratmaq və düyün ağacını redaktə etmək bu bələdçinin əhatə dairəsinə daxil deyil.
Tez-tez edilən səhvlər
İlk səhv aktiv obyektin mütləq materialı olduğunu güman etməkdir. Buna görə kodda None yoxlaması var. İkinci səhv BLENDED seçimini hər vəziyyətdə daha yaxşı şəffaflıq metodu hesab etməkdir: sənədlərdə bu metodun render pass-ləri və şüa izləmə ilə uyğunsuz olduğu bildirilir. Üçüncü səhv DISPLACEMENT seçib həndəsədə kifayət qədər alt bölümləndirmənin olmasını nəzərə almamaqdır.
Həmçinin yeni kodda blend_method kimi köhnəlmiş sahələrə əsaslanmayın. use_nodes xüsusiyyətindən də aktual material iş axını üçün açma-söndürmə açarı kimi istifadə etməyin; sənədlərdə bu sahənin 5.0-dan etibarən köhnəldiyi, 6.0-da silinməsinin planlaşdırıldığı və təyin edilməsinin təsirsiz olduğu bildirilir. Bu təlim düyün ağacının necə qurulmasını təsvir etmədiyindən onu dəyişdirən kod təqdim etmir.
Memarlıq və vizuallaşdırma iş axınına təsiri
Bu üsul səhnədəki aktiv materialın əsas xüsusiyyətlərini kodla dəyişmək istəyən memar, interyer dizayneri və vizuallaşdırma mütəxəssisləri üçün nəzərdə tutulub. Eyni layihədə roughness və ya metallic dəyərlərini müntəzəm yeniləmək üçün praktik başlanğıc nöqtəsidir; bununla belə, mənbələr performans artımına, avadanlıq tələblərinə və ya render mühərrikləri arasında uyğunluq zəmanətinə dair məlumat vermir. Şəffaflıq metodunda render pass və şüa izləmə uyğunluğunu, həqiqi yerdəyişmədə isə həndəsənin sıxlığını xüsusi nəzərə alın.
Növbəti addımlar
Əvvəlcə bir obyektin aktiv materialı üzərində işləyin və hər dəyişiklikdən sonra nəticəni yoxlayın. Ardınca eyni yanaşmanı real layihə faylınızda, istifadə etdiyiniz səhnə və render parametrləri ilə sınayın. Daha təkmil avtomatlaşdırma üçün Blender API sənədlərindəki Material və Object bölmələrinə birlikdə nəzər sala bilərsiniz; bu mənbələr mövcud material xüsusiyyətlərini və obyektin aktiv materiala çıxışını təsvir edir. Yeni istehsal skriptindən istifadə etməzdən əvvəl seçilmiş Blender versiyasında API davranışını ayrıca yoxlayın.
Mənbə və lisenziya
Bu təlim Blender API-nin Material və Object sənədlərindəki xüsusiyyət təsvirlərinə əsaslanır. Hər iki mənbə CC BY-SA 4.0 lisenziyalıdır; məzmun Azərbaycan dilinə uyğunlaşdırılıb, nümunə kodlar isə memarlıq materiallarının tənzimlənməsi kontekstində yenidən yazı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.
Türkiyədəki kiçik ofislər və tələbələr üçün bu yanaşma mövcud material dəyərlərini tez dəyişmək və təkrarlanan düzəlişləri skript məntiqi ilə düşünmək baxımından əlçatan başlanğıc nöqtəsidir. Bələdçidəki nümunələr Blender-in öz API-sinə əsaslanır; mənbələrdə əlavə alət və ya avadanlıq yatırımı tələb olunduğuna dair məlumat yoxdur.
Bununla belə, kod öz-özlüyündə istehsal keyfiyyətli material yaratmır. Xüsusilə şəffaflıqda render parametrləri ilə uyğunluğu, yerdəyişmədə həndəsənin sıxlığını və istifadə olunan Blender versiyasındakı API davranışını yoxlamaq lazımdır. Əvvəlcə faylın surətində sınaq aparıb nəticəni səhnəyə uyğun qiymətləndirmək ən təhlükəsiz yoldur.
Tez-tez verilən suallar
Blender Python-da aktiv materiala necə daxil olmaq olar?
Aktiv obyektə `bpy.context.view_layer.objects.active` ilə daxil olmaq mümkündür. Obyektin `active_material` xüsusiyyəti aktiv materialı verir; obyekt və ya material yoxdursa, bunu yoxlamaq lazımdır.
Blender-də şəffaflıq üçün blend_method, yoxsa surface_render_method istifadə edilməlidir?
Aktual API sənədlərində istifadədən çıxarılmış `blend_method` əvəzinə `surface_render_method` istifadə edilməsi göstərilir. Sənədlərdə `DITHERED` və `BLENDED` seçimləri sadalanır.
Blender-də həqiqi displacement üçün nə lazımdır?
`DISPLACEMENT` metodu həqiqi səth yerdəyişməsindən istifadə edir və sıx alt bölümləndirmə tələb edir. Mənbə sənədlərdə konkret alt bölmə sayı göstərilmir.



