- Genel Bakış
- Kullanılabilir Python Fonksiyonları ve Sınıfları
- V-Ray Eklentisi Parametreleri Referansı
- Örnekler
- Örnek: Sahnedeki tüm materyalleri gri renkle değiştirmek
- Örnek: Hafifçe Döndürülmüş Dikdörtgen Şeklinde Bir Işık Oluşturma
- Örnek: Bir malzemenin rengini değiştirmek ve bir düğümü taşımak
- Örnek: Mesh'leri Alt Bölme Yüzeylerine Dönüştürme
- Örnek: Sarmal Oluşturmak İçin İlk Düğümün Oluşturulması
- Örnek: Malzemelerin Dışa Aktarılması ve Değiştirilmesi
- Örnek: Birkaç Sahnenin İçeriğini Birleştirme
- Örnek: Parametrelerin Değiştirilmesi
- Örnek: Bir Eklenti Çıkışını Bağlayın
Bu sayfa, V-Ray sahne erişimi Python API’si hakkında bilgi vermektedir.
Genel Bakış #
V-Ray sahne erişim Python API’si, V-Ray for Maya çeviricisi tarafından çevrildikten sonra ve render edilmeden ve/veya .vrscene dosyasına dışa aktarılmadan önce V-Ray sahnesini değiştirmenize olanak tanır. V-Ray sahnesinin Maya’daki temsilinden oldukça farklı olabileceğini unutmayın. Bu nedenle, V-Ray’in çeşitli Maya yapılarını nasıl çevirdiği hakkında biraz bilgi gerekebilir. V-Ray for Maya tarafından dışa aktarılan .vrscene dosyalarını incelemek en iyisi olacaktır.
Sahne erişim API’si, V-Ray tarafından tanınmayan yapılar için özel çeviri sağlayarak veya orijinal Maya sahnesini değiştirmeden render işleminden önce sahneyi değiştirerek V-Ray for Maya çeviricisini genişletmenize olanak tanır.
Çeviri sonrası çalıştırılacak Python betiğini, Render Ayarları iletişim kutusunun VRayCommon sekmesindeki MEL/Python geri çağırma işlevleri bölümünde belirtebilirsiniz. Betik, sahne çevrildikten hemen sonra ve .vrscene dosyasına işlenmeden ve/veya dışa aktarılmadan önce çalıştırılır. Şu anda, bir animasyon işlenirken, betik yalnızca bir kez, herhangi bir kare işlenmeden önce çalıştırılır.
Çeşitli komut dosyası erişim türleri hakkında daha fazla bilgi için Komut Dosyası Oluşturma sayfasına bakın.
Kullanıcı Arayüzü Yolu : ||Render Ayarları penceresi|| > Genel sekmesi > MEL/Python geri çağırma işlevleri açılır menüsü


Kullanılabilir Python Fonksiyonları ve Sınıfları #
Tüm Python fonksiyonları ve sınıflarının bildirimleri (ve bazı durumlarda uygulamaları) C:\Program Files\Autodesk\Maya20xx\vray\scripts\vray klasöründe mevcuttur.
Fonksiyonlar #
vray.utils modülünde aşağıdaki Python fonksiyonları mevcuttur .
create(pluginType, pluginName) – Verilen ad ve türde bir eklenti oluşturur.
delete(pluginName) – Belirtilen ada sahip eklentiyi siler.
findByName(pattern) – Belirtilen ada sahip tüm eklentilerin listesini döndürür. Pattern joker karakterler içerebilir.
findByType(pattern) – Belirtilen türdeki tüm eklentilerin listesini döndürür. Pattern joker karakterler içerebilir.
getPluginParams(plugin, getValues= False , onlyExisting= False ) – Verilen eklenti için mevcut tüm parametrelerin bir listesini döndürür. getValues True ise, her parametrenin değeri de döndürülür. onlyExisting True ise, yalnızca V-Ray sahnesinde gerçekten ayarlanmış parametreler döndürülür; aksi takdirde tüm eklenti parametreleri döndürülür ve V-Ray sahnesinde ayarlanmamış olanlar varsayılan değerleriyle listelenir.
getTypeParams(pluginType) – Belirtilen eklenti türü için tüm parametrelerin listesini döndürür.
exportTexture(textureName) – Maya sahnesinden dokuyu dışa aktarır ve dışa aktarılan eklentiyi döndürür. Bu işlev, sahne çevrilirken doku dışa aktarılmamışsa yararlı olabilir.
exportMaterial(materialName) – Maya sahnesinden materyali dışa aktarır ve dışa aktarılan eklentiyi döndürür. Bu işlev, sahne çevrilirken materyal dışa aktarılmamışsa yararlı olabilir.
`addSceneContent(scenefile, prefix=””)` – Verilen `.vrscene` dosyasındaki tüm eklentileri yükler ve mevcut sahneye ekler. İsteğe bağlı olarak, her eklentinin adına eklenecek bir önek belirtebilirsiniz. Sahne dosyası, sahnenin geri kalanından farklı yeni bir ad alanında yüklenir; sahnede aynı ada sahip eklentiler varsa, bunlar ayrı eklentiler olarak kalır.
`appendSceneContent(scenefile, prefix=””)` – Verilen `.vrscene` dosyasındaki tüm eklentileri yükler ve isteğe bağlı bir önekle birlikte mevcut sahneye ekler. Eklentiler, en son yüklenen sahnenin ad alanına eklenir; bu nedenle, aynı adlara sahip mevcut eklentiler varsa, parametrelerine ait veriler mevcut eklentilere eklenir. Bu, aynı animasyonlu sekansdan birden fazla `.vrscene` dosyasını yüklemek için kullanılabilir. Sahne dosyalarını belirtmek için joker karakterler kullanılabilir.
Sınıflar #
vray.utils modülünde aşağıdaki Python sınıfları mevcuttur.
Eklenti #
Bu sınıf, sahnedeki bir V-Ray eklentisinin bir örneğini temsil eder.
duplicate(self, newName) – aynı türde ve aynı parametrelere sahip yeni bir eklenti örneği döndürür.
get(self, paramName) – bir parametrenin değerini döndürür.
has(self, paramName) – eklenti örneğinin bu ada sahip bir parametresi olup olmadığını kontrol eder.
name(self) – eklenti örneğinin adını döndürür.
params(self, getValues= False , onlyExisting= False ) – Bu eklenti için mevcut tüm parametrelerin bir listesini döndürür. getValues True ise, her parametrenin değeri de döndürülür. onlyExisting True ise, yalnızca V-Ray sahnesinde gerçekten ayarlanmış parametreler döndürülür; aksi takdirde tüm eklenti parametreleri döndürülür ve V-Ray sahnesinde ayarlanmamış olanlar varsayılan değerleriyle listelenir.
output(self, paramName) – Diğer eklentilerin parametreleri için değer olarak ayarlanabilen bir eklenti çıktı parametresine referans döndürür.
set(self, paramName, value) – Bir parametrenin değerini ayarlar.
type(self) – Eklenti örneğinin türünü alır.
Eklenti Parametre Değerlerini Temsil Eden Sınıflar #
Sahnedeki V-Ray eklentilerinin parametreleri basit sayılar veya daha karmaşık veri tipleri olabilir. Basit değerler doğrudan işlenebilirken, karmaşık tipler özel bir Python sınıfı ile temsil edilir.
EklentiÇıktısı #
Bu sınıf, bir V-Ray eklentisinin çıkış parametresine yapılan bir referansı temsil eder. Bir eklenti başka bir eklentinin çıkış parametresine bağlandığında kullanılır.
AColor #
Bu sınıf dört bileşenli bir renk değerini (kırmızı, yeşil, mavi, alfa) temsil eder.
Renk #
Bu sınıf, üç bileşenli bir renk değerini (kırmızı, yeşil, mavi) temsil eder.
Vektör #
Bu sınıf, 3 boyutlu uzayda üç bileşenli bir vektörü veya noktayı temsil eder.
Matris #
Bu sınıf 3×3’lük bir matrisi temsil eder.
Dönüştür #
Bu sınıf, 3 boyutlu uzayda 3×4’lük bir dönüşümü temsil eder.
V-Ray Eklentisi Parametreleri Referansı #
V-Ray for Maya kurulumunda tüm V-Ray eklentilerinin listesini ve ilgili parametrelerini kısa açıklamalarıyla birlikte bulabilirsiniz:
C:\Program Files\Autodesk\Maya20xx\vray\PluginDoc
Burada Maya20xx, yüklü Maya sürümünü ifade etmektedir.
Örnekler #
Örnek: Sahnedeki tüm materyalleri gri renkle değiştirmek #
Bu örnek, sahnedeki tüm nesnelerin malzemelerini gri, dağınık bir malzeme ile değiştirir.
Örnek: Hafifçe Döndürülmüş Dikdörtgen Şeklinde Bir Işık Oluşturma #
Bu örnek, hafifçe döndürülmüş bir yöne sahip dikdörtgen bir ışık oluşturur.
Örnek: Bir malzemenin rengini değiştirmek ve bir düğümü taşımak #
Bu örnek komut dosyası, sahnedeki ilk düğümün malzemesinin rengini değiştirir (orijinal malzemenin Lambert olduğunu varsayarak) ve düğümü bir birim yukarı taşır.
Örnek: Mesh’leri Alt Bölme Yüzeylerine Dönüştürme #
Bu örnek, sahnedeki tüm normal ağları alt bölüm yüzeylerine nasıl dönüştüreceğinizi gösterir.
Örnek: Sarmal Oluşturmak İçin İlk Düğümün Oluşturulması #
Bu örnek, sahnedeki ilk düğümü bir sarmal oluşturacak şekilde birkaç kez tekrarlar.
Örnek: Malzemelerin Dışa Aktarılması ve Değiştirilmesi #
Bu örnek, çeşitli dokuları ve malzemeleri dışa aktarır ve bir nesnenin malzemesini değiştirir.
Örnek: Birkaç Sahnenin İçeriğini Birleştirme #
Bu örnek, çeşitli sahnelerin içeriklerini bir araya getiriyor ve yeni oluşturulan eklentilerden bazılarını kullanıyor.
Örnek: Parametrelerin Değiştirilmesi #
Bu örnek, daha karmaşık bir parametrenin değerinin nasıl değiştirileceğini göstermektedir. Örneğin, SettingsLightLinker eklentisinin ignored_lights parametresi, çeşitli alt eklenti listelerinden oluşan bir listedir. Her listedeki ilk eklenti bir ışık eklentisidir ve geri kalan eklentiler geometri düğümleridir. Parametre şu şekilde değiştirilebilir:
Örnek: Bir Eklenti Çıkışını Bağlayın #
Bu örnek, bir eklentiden belirli bir çıktıyı nasıl alacağınızı ve bunu başka bir eklentinin parametresine girdi olarak nasıl kullanacağınızı göstermektedir.
Öncelikle, sahnedeki bir nesnenin adını bildiğimizi varsayıyoruz. Önce materyalini, sonra materyalin BRDF’sini, ardından BRDF’nin difüz dokusunu alıyoruz. BRDF’nin difüz dokusunu başka bir renkle çarptığımız bir TexAColorOp doku eklentisi oluşturuyoruz. Çarptığımız ikinci renk de başka bir doku referansı olabilir. Son olarak, TexAColorOP’un ‘ürün’ çıktısını BRDF’nin difüz girdisi olarak kullanıyoruz. Herhangi bir eklentinin özel çıktısı aynı şekilde kullanılabilir.
