View Categories

MAXScript

16 dakika okuma

Chaos Corona ayarlarının çoğu MAXScript aracılığıyla erişilebilir ve değiştirilebilir. Corona’nın aktif işleyici olarak ayarlandığından emin olun, ardından MAXScript Dinleyicisini açın ve `  show renderers.current` komutunu çalıştırın . Bu, Corona’ya özgü tüm işleme özelliklerini ve mevcut değerlerini listeleyecektir.

Corona, CoronaRenderer.CoronaFp arayüzü aracılığıyla birçok işlev de sunmaktadır . Listener’da showInterface CoronaRenderer.CoronaFp komutunu çalıştırarak mevcut tüm Corona MAXScript işlevlerini listeleyebilirsiniz . Listelendikten sonra, bu işlevlerden herhangi birini komut dosyalarınızda CoronaRenderer.CoronaFp.<İşlevAdı>(parametreler) sözdizimini kullanarak çağırabilirsiniz . Örneğin, komut dosyası aracılığıyla Corona’nın render ayarlarını varsayılan değerlere sıfırlamak için CoronaRenderer.CoronaFp.resetSettings() işlevini çağırın. Çoğu işlev, işlemin başarılı olup olmadığını belirtmek için bir durum kodu (başarı için , başarısızlık için sıfırdan farklı bir değer) döndürür .

İşlev

Parametreler

Tanım

VFB ve İşleme

showVfb

<boolean>göster</boolean>

VFB penceresini görüntüler veya gizler. Argüman doğru olduğunda, bu fonksiyonu çağırmak, kullanıcı arayüzündeki “VFB’yi Göster” düğmesine tıklamakla aynıdır.

resumeRender

Son oluşturulan görüntüyü devam ettirir. İşlemler sekmesindeki “Son oluşturulan görüntüyü devam ettir” düğmesine tıklamakla aynı işlevi görür.

Yükle ve Devam Et

<string>dosya adı</string>

resumeRender ile aynı işlevi görür, ancak önceden kaydedilmiş bir EXR dosyasından son render işlemini yükler.

dumpVfb

<string>dosya adı</string>

Geçerli VFB içeriğini, daha sonra loadAndResume kullanılarak devam ettirilebilmesi için belirtilen dosyaya kaydeder.

setDisplayedChannel

<tamsayı>kanal

Corona VFB kullanılıyorsa, şu anda görüntülenen kanalı ayarlar. 0 güzellik kanalı, 1 alfa kanalıdır ve daha yüksek değerler ek render geçişleridir.

getVfbContent

<integer>kanal <boolean>ton eşleme <boolean>renderStamp

Geçerli çerçeve arabelleğinden tek bir işleme kanalına sahip bir bitmap döndürür. İsteğe bağlı olarak ton eşleme ve işleme damgası da içerebilir. Tamsayı kodu döndürmez, doğrudan bitmap’i (veya çağrı başarısız olursa null) döndürür.

İstatistik al

<tamsayı>istatistikKimliği

Bu makalede yer alan “İstatistik Kimliği” tablosundaki istatistiklerden birini çift hassasiyetli kayan noktalı biçimde döndürür. Şu anda etkin olan veya son render işleminden elde edilen sonuçları döndürür. Oturumda henüz bir render işlemi gerçekleşmediyse veya son render işleminden sonra 3dsmax sıfırlandıysa/render motoru değiştirildiyse, sonuçlar tanımsızdır.

etkileşimli başlat

Corona VFB’de etkileşimli görüntülemeyi başlatır.

startInteractiveDocked

Corona görünüm penceresine kenetlenmiş VFB’de etkileşimli oluşturmayı başlatır. Bu yöntemin çalışması için görünüm penceresinin (genişletilmiş görünüm) mevcut ve etkin olmaması gerekir. Komut aşağıdaki kodları döndürür:
0 – Başarılı
1 – Başarısız – Corona etkin oluşturucu olarak seçilmedi
2 – Başarısız – Corona zaten oluşturma yapıyor
3 – Başarısız – Geçerli kenetlenmiş pencere yok

stopRender

Devam eden tüm render işlemlerini durdurur.

yeniden ayrıştırmaEtkileşimli

Etkileşimli render işlemi devam ederken, tüm sahneyi yeniden ayrıştırır ve etkileşimli render işlemini yeniden başlatır.

getRenderType

Şu anda herhangi bir render işlemi gerçekleşmiyorsa 0, çevrimdışı (etkileşimli olmayan render) için 1, kenetlenmiş VFB ile etkileşimli render için 2 ve normal Corona VFB’de etkileşimli render için 3 değerini döndürür.

Tüm öğeleri kaydet

<string>dosya adı</string>

Tüm render öğelerini belirtilen konuma kaydeder – tıpkı Corona VFB düğme işlevini kullanırken olduğu gibi. Sağlanan parametre, güzellik kanalının dosya adıdır, diğer dosya adları bundan türetilir.

Ayarları sıfırla

Görüntüleme ayarlarını varsayılan değerlere sıfırlar. İşlemler sekmesindeki “Ayarları Sıfırla” düğmesine tıklamakla aynı işlevi görür.

LightMix

Not: MAXScript’i LightMix ile kullanabilmek için en az bir kez render işlemini başlatmanız gerekmektedir. Kullanım örnekleri için aşağıdaki Örnek Komut Dosyaları bölümüne bakın.

ışık seçimini etkinleştir

<tamsayı>lightMixChannel

<tamsayı>ışıkSeçimKanalı

<boolean>etkinleştir</boolean>

Belirtilen LightMix kurulumunun belirtilen LightSelect öğesini etkinleştirir veya devre dışı bırakır.

setLightSelectIntensity

<tamsayı>lightMixChannel

<tamsayı>ışıkSeçimKanalı

<float>yoğunluk

Belirtilen LightMix kurulumunun belirli LightSelect öğesinin yoğunluk değerini ayarlar.

setLightSelectTint

<tamsayı>lightMixChannel

<tamsayı>ışıkSeçimKanalı

<RGBA>tonu

Belirtilen LightMix kurulumunun belirtilen LightSelect öğesi için renk tonunu ayarlar.

numLightMixChannels

LightMix öğelerinin sayısını döndürür. Tüm LightMix öğeleri üzerinde yineleme yapmak için bir döngü içinde kullanılabilir.

numLightSelectChannels

LightSelect öğelerinin sayısını döndürür. Tüm LightSelect öğeleri üzerinde yineleme yapmak için bir döngü içinde kullanılabilir.

getLightSelectName

<tamsayı>ışıkSeçimKanalı

i-inci LightSelect öğesinin adını alır. Bu, tüm render öğeleri arasında değil, yalnızca LightSelect öğeleri arasında bir dizindir. 0 tabanlıdır (0 ilk öğedir). Verilen dizine sahip bir öğe yoksa (örneğin, yalnızca 1 LightSelect öğeniz varsa ve argüman olarak 1 geçerseniz) null döndürür.

setDisplayedLightMixChannel

<tamsayı>lightMixChannel

Corona VFB’deki i-inci LightMix öğesini görüntüler. Bu, tüm render öğeleri arasında değil, yalnızca LightMix öğeleri arasındaki indekstir. 0 tabanlıdır (0 ilk öğedir).

showLightMixSetupDialog

Şu anda render işlemi yapılmıyorsa LightMix kurulum iletişim kutusunu gösterir.

bakeLightMix

Sahneye ilk LightMix öğesini ekler . Bu işlev, VFB’deki “ekle” düğmesine tıklamakla aynı şey değildir. MAXScript her zaman ilk LightMix’i ekler çünkü hangisinin seçili olduğunu bilmez. Bu işlevi kullanmak için VFB’yi açmanıza gerek yoktur. 

hafif karışımla pişir

<tamsayı>lightMixIndex

Belirtilen LightMix’i, verilen lightMixIndex’e göre sahneye uygular. Yalnızca Corona 12 ve üzeri sürümlerde mevcuttur.

Kullanıcı arayüzü

Listeleyici iletişim kutusunu göster

<tamsayı>tab

Corona Lister iletişim penceresini açar. Sekme argümanı, iletişim penceresi açıldığında hangi sekmenin seçileceğini belirler; 0 en son etkin sekmeyi, 1 Işıklar sekmesini ve 2 Dağılımlar sekmesini ifade eder.

Hata Penceresini göster

Corona Hata Penceresini gösterir.

savePostSettings

<string>dosya adı</string>

VFB Post sekmesindeki tüm mevcut ayarları bir .conf dosyasına kaydeder (Post sekmesindeki “Kaydet” düğmesini kullanmaya eşdeğerdir). Yalnızca Corona 12 ve üzeri sürümlerde mevcuttur. Yalnızca VFB2 ile çalışır.

YüklePostAyarları

<string>dosya adı</string>

Belirtilen .conf dosyasından işlem sonrası ayarlarını yükler (İşlem Sonrası sekmesindeki “Yükle” düğmesini kullanmaya eşdeğerdir). Yalnızca Corona 12 ve üzeri sürümlerde mevcuttur. Yalnızca VFB2 ile çalışır.

Sürümleme

Sürüm numarasını al

Geçerli Corona sürümünü, karşılaştırılabilir tek bir 64 bit tamsayı sürüm numarası olarak kodlanmış şekilde döndürür. Daha önceki sürümlerde döndürülen sürüm numaraları, daha sonraki sürümlerde döndürülen sürüm numaralarından her zaman daha düşüktür.

SürümDizesini al

Corona’nın güncel sürümünü insan tarafından okunabilir bir metin dizesi olarak döndürür. Kullanıcıya sunulmaya uygundur.

Sürüm Ana Numarasını al

Mevcut Corona sürümünün ana numarasını döndürür.

SürümAltıncıNumarasınıAl

Mevcut Corona sürümünün alt numarasını döndürür.

getVersionBuildType

Geçerli Corona sürümünün derleme türünü string biçiminde döndürür. Yani “StableRelease”, “ReleaseCandidate” ve “DailyBuild” seçeneklerinden birini.

Diğer

dışa aktarma sahnesi

<string>dosyaadı <bool>hemenişlet <bool>varlıklarıkoru

Mevcut sahneyi, Corona Standalone veya Vantage’da açılıp işlenebilmesi için belirtilen bir dosyaya dışa aktarır . Desteklenen dosya formatları şunlardır:

.cdo – Corona Bağımsız Sürümü

.vrscene – Vantage

.vantage – Vantage

Eğer `renderImmediately` değeri `true` ise, uygulama ayrıca Corona Standalone / Vantage yürütülebilir dosyasını arar ve dışa aktarma işleminden hemen sonra çalıştırmayı ve render işlemine başlamayı dener. 

Eğer `keepAssets` değeri `true` ise, hiçbir doku dışa aktarılmaz; bunun yerine orijinal konumlarında saklanırlar. Eğer `keepAssets` değeri `false` ise, tüm dokular sahne dosyasıyla birlikte dışa aktarılır. 

DrIPDosyasını yükle

<string>dosya adı</string>

Her satırda 1 IP adresi bulunan bir metin dosyasını DR düğümleri listesine yükler. Bu, kullanıcı arayüzündeki “Dosyadan…” düğmesine tıklayıp sağlanan dosyayı seçmekle aynıdır.

getBlackbodyColor

<float>sıcaklık

Belirtilen sıcaklıkta (Kelvin cinsinden) siyah cisim yayıcısının rengini döndürür. Döndürülen değer HDR doğrusal sRGB renk uzayındadır (gama düzeltmesi olmadan). Sonuç normalize edilmiştir – en parlak renk kanalı her zaman 1’e eşittir ve rengin mutlak parlaklığı gerçekliğe karşılık gelmez (yalnızca farklı renk kanalları arasındaki oran anlamlıdır). Giriş rengi 1000-99000K aralığında olmalıdır.

getScriptsDirectory

Corona ile birlikte gelen MAXScript komut dosyalarının (örneğin Corona Converter veya Corona Proxy Exporter) saklandığı dizinin yolunu döndürür.

Varsayılan PürüzlülükModu’nu al

Corona Sistem Ayarlarında ayarlandığı gibi, Corona PhysicalMtl pürüzlülük modu için varsayılan modu döndürür. 0 = pürüzlülüğü kullan, 1 = parlaklığı kullan.

VarsayılanIorMode’u al

Corona Sistem Ayarlarında ayarlandığı gibi, Corona PhysicalMtl IOR modu için varsayılan modu döndürür. 0 = IOR kullan, 1 = Disney Specular kullan.

convertToCoronaMtl

<malzeme>malzeme
<tam sayı>metaliklikTipi

Belirtilen malzemeyi Corona malzemesine dönüştürür. MetalnessType, metalliğin nasıl ele alınacağını belirler:
0 – Otomatik algılama
1 – Metal olmayan malzemeyi zorla
2 – Metal malzemeyi zorla.
Yalnızca Corona 12 ve üzeri sürümlerde mevcuttur.

İstatistik Kimliği

Anlam

0

Geçen geçiş sayısı

1

Sahnedeki temel öğelerin sayısı (örnekler hariç).

2

Örnekleme ile sahnedeki temel öğelerin sayısı

3

Saniyede işlenen ortalama ışın sayısı

4

Her görüntü örneği için işlenen ortalama ışın sayısı

5

Toplam render süresi (milisaniye cinsinden)

6

İşleme aşamasında geçirilen toplam süre (milisaniye cinsinden). Bu süre, zaman sınırı belirlenmiş aşamalı işlemenin ne zaman durdurulacağına karar vermek için kullanılır.

7

Resimdeki tahmini gürültü miktarı, yüzde olarak. Tahmini değer yoksa 0 döndürür.

8

Tahmini kalan işleme süresi (milisaniye cinsinden). Tahmini süre yoksa 0 döndürür.

9

Corona tarafından şu anda ayrılan bellek miktarı.

10

Corona’nın son render işlemi sırasında ayırdığı en yüksek bellek miktarı.

11

İşlem tarafından şu anda kullanılan sanal bellek.

12

İşlem tarafından şu anda kullanılan en yüksek sanal bellek miktarı.

13

Sistem tarafından kullanılan sanal bellek.

14

Sahne ayrıştırma süresi (ms).

15

Yer değiştirme temelleri.

Corona Proxy API #


[proxy] adlı proxy nesnesi üzerinde bir metodu çağırmak için CProxy.ProxyFp.[method_name] [proxy] [isteğe bağlı ek argümanlar] kullanın.

İşlev

Parametreler

Tanım

getOriginalObjectName

<node>proxy

Proxy’nin oluşturulduğu orijinal nesnenin adını içeren bir dize döndürür.

Orijinal Malzeme Adını al

<node>proxy

Proxy’nin oluşturulduğu orijinal nesnenin malzeme adını içeren bir dize döndürür.

Sahneden

<node>proxy <node>source <filename>filename

Sahne nesnesi kaynağından bir proxy oluşturur ve bunu filename ile belirtilen dosyaya kaydeder.

fromSceneAnimated

<node>proxy <node>source <filename>filename <integer>frameFrom <integer>frameTo <integer>pointCloudSize <integer>samplesPerFrame

Diğer fromScene fonksiyonuyla aynıdır, ancak ek parametreler belirtmenize olanak tanır: animasyon aralığı (frameFrom – frameTo), görüntü alanı boyutu, önceden hesaplanıp dosyaya kaydedilecek nokta bulutu ve alınacak hareket bulanıklığı örneklerinin sayısı.

duplicateToMesh

<node>proxy

Proxy dosyasından 3ds Max’te düzenlenebilir bir mesh oluşturur (proxy dosyasını silmez). Kullanıcı arayüzündeki “Mesh’e kopyala” düğmesine tıklamakla aynı işlevi görür.

Corona Malzeme Kütüphanesi API’si #


CoronaMaterialLibrary.MaterialLibraryFp arayüzü kullanılarak çağrılabilecek çeşitli yayınlanmış fonksiyonlar bulunmaktadır . Bunları listelemek için showInterface CoronaMaterialLibrary.MaterialLibraryFp komutunu çalıştırabilirsiniz  .

İşlev

Parametreler

Tanım

Yüklendi

Kütüphane yüklüyse TRUE, yüklü değilse FALSE döndürür (kullanıcı Corona kurulumu sırasında kütüphaneyi kaldırmıştır).

Mümkünse Tarayıcıyı göster

<boolean>göster</boolean>

Mümkünse, kütüphane için tarayıcı penceresini görüntüler veya gizler. Başarılı olursa 0, başarısız olursa sıfırdan farklı bir değer döndürür.

Korona Dağılımı API’si #


Bu, Corona Scatter’ın kendi API’sine sahip daha gelişmiş Chaos Scatter ile değiştirildiği 8. sürüme kadar geçerlidir (aşağıya bakınız).

Her CScatter nesnesinde çağrılabilecek çeşitli yayınlanmış yöntemler vardır. Bunları s = CScatter(); showInterfaces s komutunu çalıştırarak listeleyebilirsiniz  . Orada ScatterFpInterface  arayüzünü arayın  .

İşlev

Parametreler

Tanım

güncelleme

<aralık>zamanAralığı <tamsayı>referansZamanı

Verilen boş olmayan zaman aralığı için örneklerin dağılımını günceller. Belirtilen referans zamanı, enterpolasyon yapılamayan dağılım parametrelerini belirler. Bu zamanın belirtilen aralıkta olması beklenir. Başarılı olursa 0, kullanıcının geçerli bir lisansı yoksa 1 döndürür. Şu anda yalnızca 1 zaman dilimi uzunluğundaki aralıklar desteklenmektedir.

temizlemek

Son güncelleme çağrısı tarafından oluşturulan örneklerin dağılımını temizler. Ayrılan kaynakları serbest bırakmak için çağrılabilir, ancak bu durumda dağılım nesnesine bağlı haritalar yanlış değerlendirilebilir.

Model sayısını al

Model nesnelerinin toplam sayısını döndürür. Bunlar, dağıtım nesnesi tarafından örneklendirilen orijinal nesnelerdir. Sayı, son güncelleme çağrısıyla ilgilidir.

getModelNode

<tamsayı>indeks

Verilen indekse göre seçilen model nesnesinin düğümünü döndürür. Düğüm, son güncelleme çağrısıyla ilgilidir. Düğüm bu arada silinmişse null döndürür. İndeks, N’nin getModelCount tarafından döndürülen sayı olduğu [0, N) aralığının dışında ise, yine null döndürür.

ÖrnekSayısını al

Örnek sayısını döndürür. Son güncelleme çağrısı için belirtilen tüm zaman aralığı boyunca dağılmış tüm örnekler burada hesaba katılır. Örneğin, dağılım 2 zaman dilimi uzunluğunda bir aralık için güncellenirse ve ilk zaman diliminde A, B, C örnekleri, ikinci zaman diliminde ise B ve D örnekleri dağılmışsa, 4 döndürür.

Örnekleri Geometriye dönüştür

<tamsayı>zaman

Verilen zamanda dağılmış olan tüm örnekleri gerçek geometri nesnelerine dönüştürür (çoğaltır). Zamanın, son güncelleme çağrısı için belirtilen aralıkta olmasını bekler. Başarılı olursa 0 döndürür. Çok sayıda örnek için bunun maliyetli olabileceğini unutmayın.

CScatter.StaticFpInterface arayüzü kullanılarak çağrılabilecek çeşitli yayınlanmış yöntemler de mevcuttur  . Bunları listelemek için showInterface CScatter.StaticFpInterface komutunu  çalıştırabilirsiniz   .

İşlev

Parametreler

Tanım

Sürüm numarasını al

Geçerli eklenti sürümünü, karşılaştırılabilir tek bir 64 bit tamsayı sürüm numarası olarak kodlanmış şekilde döndürür. Önceki sürümlerde döndürülen sürüm numaraları, sonraki sürümlerde döndürülenlerden her zaman daha düşüktür.

SürümDizesini al

Mevcut eklenti sürümünü insan tarafından okunabilir bir metin dizesi olarak döndürür. Kullanıcıya sunulmaya uygundur.

Chaos Scatter MAXScript API #


Her Chaos Scatter nesnesi için çağrılabilecek çeşitli yayınlanmış yöntemler mevcuttur. Bunların tümünü showInterface ChaosScatter.FpInterface komutunu çalıştırarak listeleyebilirsiniz  (MAXScript Listener çıktısına göz atın).

İşlev

Parametreler

Tanım

güncelleme

<aralık>zamanAralığı
<tamsayı>referansZamanı

Belirtilen boş olmayan zaman aralığı için dağıtım verilerini günceller ve çağıranı engeller. Belirtilen referans zamanı, enterpolasyon yapılamayan dağıtım parametrelerini belirler. Bu zamanın aralık içinde olması beklenir. Başarılı olursa 0 döndürür. Kullanıcının geçerli bir lisansı yoksa 1 döndürür. Güncelleme gerekmiyorsa hiçbir şey yapmaz. Şu anda yalnızca 1 zaman dilimi uzunluğundaki aralıklar desteklenmektedir.

temizlemek

Son güncelleme çağrısı tarafından oluşturulan dağılımı temizler. Ayrılan kaynakları serbest bırakmak için de çağrılabilir, ancak bu durumda örneğin dağılım nesnesine bağlı haritalar yanlış değerlendirilebilir.

Model sayısını al

Model nesnelerinin toplam sayısını döndürür. Bunlar, dağıtım nesnesi tarafından örneklendirilen orijinal nesnelerdir. Sayı, son güncelleme çağrısıyla ilgilidir.

getModelNode

<tamsayı>indeks

Verilen indeksle seçilen model nesnesinin düğümünü döndürür. Düğüm, son güncelleme çağrısıyla ilgilidir. Düğüm bu arada silinmişse null döndürür. İndeks [0, N) aralığının dışında ise (burada N,  getModelCount tarafından döndürülen sayıdır ), yine null döndürür. Performans nedenleriyle ve mümkünse, aynı indeksle bu yöntemin çok sayıda tekrar eden çağrısını önlemek önerilir.

ÖrnekSayısını al

Toplam örnek sayısını döndürür. Son güncelleme çağrısı için belirtilen tüm zaman aralığına dağılmış tüm örnekler burada hesaba katılır. Örneğin, eğer dağılım 2 zaman dilimi uzunluğunda bir aralık için güncellenirse ve ilk zaman diliminde A, B, C örnekleri, ikinci zaman diliminde ise B ve D örnekleri dağılmışsa, 4 değerini döndürür.

Örnekleri Geometriye dönüştür

<tamsayı>zaman

Verilen zamanda dağılmış olan tüm örnekleri gerçek geometri nesnelerine dönüştürür (çoğaltır). Zamanın, son güncelleme çağrısı için belirtilen aralıkta olmasını bekler. Başarılı olursa 0 döndürür. Çok sayıda örnek için çağrılması maliyetli olabilir.

Yapılandırmayı kaydet

<string>dosya yolu
<integer>ayrılmış

Dağıtım yapılandırmasını belirtilen dosyaya kaydeder. Biçimi belirtilmemiştir ancak loadConfiguration ile geri yüklenebilir  . Başarılı olursa 0 döndürür.

Yapılandırmayı yükle

<string>dosya yolu</string>

Belirtilen dosyadan dağıtım yapılandırmasını yükler. Dosyanın daha önce  saveConfiguration ile kaydedilmiş olması beklenir . Başarılı olursa 0 döndürür.

‘Chaos Scatter001’ adlı zaten mevcut bir Chaos Scatter nesnesi için örnek kod:

$’Chaos Scatter001′.saveConfiguration “C:\Temp\Export.mbc” 0

Ayarlanabilecek özellikler de mevcuttur. Bunların hepsini aşağıdaki kodu çalıştırarak listeleyebilirsiniz (MAXScript Listener çıktısına göz atın):

showProperties $’Chaos Scatter001′

Özellik adları, Corona 7 veya daha eski sürümlerde bulunan Corona Scatter’a kıyasla değişti (ve daha anlaşılır hale geldi).

Yayınlanmış birkaç bağımsız fonksiyon da mevcuttur. Bunların tümünü  showInterface ChaosScatter.StaticFpInterface komutunu çalıştırarak listeleyebilirsiniz  (MAXScript Listener çıktısına göz atın).

İşlev

Parametreler

Tanım

Sürüm numarasını al

Geçerli eklenti sürümünü, karşılaştırılabilir tek bir 64 bit tamsayı sürüm numarası olarak kodlanmış şekilde döndürür. Önceki sürümlerde döndürülen sürüm numaraları, sonraki sürümlerde döndürülenlerden her zaman daha düşüktür.

SürümDizesini al

Mevcut eklenti sürümünü insan tarafından okunabilir bir metin dizesi olarak döndürür. Kullanıcıya sunulmaya uygundur.

Örnek kod:

ChaosScatter.StaticFpInterface.getVersionString()

Örnek Komut Dosyaları #


Genel #

Corona VFB’yi gösteriyor:

CoronaRenderer.CoronaFp.showvfb true


Geçerli render işlemini durdurur (VFB’deki DURDUR düğmesine basmakla aynı işlevi görür):

CoronaRenderer.CoronaFP.stopRender()


VFB’de bir render bölgesi çizer (çıktı çözünürlüğünün 1280×720 piksel olduğunu varsayıyoruz):

renderers.current.system_vfbRegions = #([1280,720,0], [0,0,0], [1280,720,0], [10,20,0], [100,200,0], [0,0,0])


Tüm VFB bölgelerini temizler (VFB’nin önce kapatılması gerekir):

renderers.current.system_vfbRegions_enabled=false


3ds Max’teki mevcut sahneyi C:\Corona\ klasörüne myscene.cdo olarak dışa aktarır, render işlemine başlamaz ve tüm dokuları da dışa aktarır:

CoronaRenderer.CoronaFp.exportScene @”C:\Corona\myscene.cdo” false false


3ds Max’teki mevcut sahneyi C:\Corona\ klasörüne myscene.vantage olarak dışa aktarır ve render işlemine başlar. Sahnede kullanılan dokular dışa aktarma dizinine kaydedilmez, bunun yerine orijinal konumlarında bırakılır:

CoronaRenderer.CoronaFp.exportScene @”C:\Corona\myscene.vantage” true true


VFB’nin mevcut içeriğini belirtilen CXR dosyasına kaydeder:

CoronaRenderer.CoronaFp.dumpVfb “D:\yourfilename.cxr”


Teapot001’i bir proxy’ye dönüştürür ve C:\proxy\myproxy.cgeo olarak kaydeder:

CProxy.ProxyFp.fromScene (CProxy()) $Teapot001 @”C:\proxy\myproxy.cgeo”


my_proxy’yi tekrar mesh’e dönüştürür:

CProxy.ProxyFp.duplicateToMesh $my_proxy

LightMix #

Not: MAXScript’i LightMix ile kullanabilmek için en az bir kez render işlemini başlatmanız gerekmektedir.

Index 0’a sahip LightMix kurulumu içindeki index 1’e sahip LightSelect öğesini devre dışı bırakır:

CoronaRenderer.CoronaFp.setLightSelectEnabled 0 1 false

0 ile 2,5 arasındaki indekslere sahip LightMix kurulumu içindeki 1 indeksli LightSelect öğesinin yoğunluğunu ayarlar:

CoronaRenderer.CoronaFp.setLightSelectIntensity 0 1 2.5

Mevcut LightMix öğelerinin sayısını yazdırır:

CoronaRenderer.CoronaFp.numLightMixChannels

0 indeksli LightMix kurulumu içindeki 1 indeksli LightSelect öğesinin renk tonunu [255,128,0] olarak ayarlar:

CoronaRenderer.CoronaFp.setLightSelectTint 0 1 [255,128,0]

LightMix / LightSelect öğelerinin sayısını yazdırır:

numLightMixChannels()
numLightSelectChannels()

1. indekse sahip LightSelect öğesinin adını yazdırır:

CoronaRenderer.CoronaFp.getLightSelectName 1

Corona VFB’de 1 indeksli LightMix öğesini görüntüler:

CoronaRenderer.CoronaFp.setDisplayedLightMixChannel 1

“Environment” ile başlayan isimlere sahip tüm mevcut LightSelect öğelerini tek tek kontrol eder ve devre dışı bırakır:

for i=0 to CoronaRenderer.CoronaFp.numLightSelectChannels()-1 do (
if matchPattern (CoronaRenderer.CoronaFp.getLightSelectName i) pattern:”Environment*” then
for j=0 to CoronaRenderer.CoronaFp.numLightMixChannels()-1 do
CoronaRenderer.CoronaFp.setLightSelectEnabled j i false
)

Corona 8 Yeni Ton Eşleme İşlem Hattı Örnekleri #



Son operatöre ulaşılıyor:

getProperty renderers.current “colorMap.pipeline”

Her operatör bir sonraki operatörü (kullanıcı arayüzünde bir üstteki) tutar:

getProperty (getProperty renderers.current “colorMap.pipeline”) “colorMappingOperator.nextOperator”

İlgili parametre değerleri şu şekilde elde edilebilir:

getProperty (getProperty renderers.current “colorMap.pipeline”) “colorMappingOperator.opacity”

Özelliğin adını ve ayarını kullanarak belirli bir operatörü arıyorum:

pipeline = getProperty renderers.current “colorMap.pipeline”
while pipeline != undefined do
(
operatorClass = classOf pipeline
if operatorClass == WhiteBalanceOperatorPlugin then exit
pipeline = getProperty pipeline “colorMappingOperator.nextOperator”
)
if pipeline != undefined then setProperty pipeline “colorMappingOperator.colorTemperature” 8000

– Önceki kod yalnızca bulduğu ilk operatöre değer atar; aynı türden birden fazla operatör içeren daha karmaşık bir işlem hattına ihtiyaç duyulması durumunda, sıfırdan oluşturmak ve parametreleri hemen ayarlamak daha kolaydır, aşağıdaki

Operatör Ekleme bölümüne bakın (benzersiz bir kimlik belirlemek gereklidir) – mevcut işlem hattını tek bir kontrast operatörüyle değiştirir:

op = ContrastOperatorPlugin()
setProperty op “colorMappingOperator.id” 1
setProperty op “colorMappingOperator.enabled” true
setProperty op “colorMappingOperator.contrast” 0.4
setProperty renderers.current “colorMap.pipeline” op

Birden fazla operatörle kendi işlem hattınızı oluşturmak:

op = ContrastOperatorPlugin()
setProperty op “colorMappingOperator.id” 1
setProperty renderers.current “colorMap.pipeline” op
op2 = GreenMagentaTintOperatorPlugin()
setProperty op2 “colorMappingOperator.id” 2
setProperty op “colorMappingOperator.nextOperator” op2

Tüm operatörler:

ContrastOperatorPlugin
CurvesOperatorPlugin
SimpleExposureOperatorPlugin
PhotographicExposureOperatorPlugin
FilmicOperatorPlugin
AdvancedFilmicOperatorPlugin
GreenMagentaTintOperatorPlugin
LutOperatorPlugin
ReinhardOperatorPlugin
SaturationOperatorPlugin
TintOperatorPlugin
ToneCurveOperatorPlugin
VignetteOperatorPlugin
WhiteBalanceOperatorPlugin
AcesOtOperatorPlugin

(Aşağıdakiler dahili kullanım içindir, bunları manuel olarak eklemenize veya değerlerini değiştirmenize gerek yoktur):

LinearToSrgbOperatorPlugin
SrgbToLinearOperatorPlugin
IdentityOperatorPlugin (assigned when user deletes all items from UI)


Tüm parametreler:

Main paramblock (renderers.current):
FILMIC
PARAM_COLOR_MAP_PREDECESSOR, TYPE_REFTARG, _T(“colorMappingOperator.nextOperator”),
PARAM_FILMIC_OP_ENABLED, TYPE_BOOL, _T(“colorMappingOperator.enabled”),
PARAM_FILMIC_OP_HIGHLIGHTS_COMPRESSION, TYPE_FLOAT, _T(“colorMappingOperator.highlightCompression”),
PARAM_FILMIC_OP_RICH_SHADOWS, TYPE_FLOAT, _T(“colorMappingOperator.richShadows”),
ADV FILMIC
PARAM_COLOR_MAP_PREDECESSOR, TYPE_REFTARG, _T(“colorMappingOperator.nextOperator”),
PARAM_FILMIC_OP_ENABLED, TYPE_BOOL, _T(“colorMappingOperator.enabled”),
PARAM_ADVANCED_FILMIC_OP_TOE_STRENGTH, TYPE_FLOAT, _T(“colorMappingOperator.toeStrength”),
PARAM_ADVANCED_FILMIC_OP_TOE_LENGTH, TYPE_FLOAT, _T(“colorMappingOperator.toeLength”),
PARAM_ADVANCED_FILMIC_OP_SHOULDER_STRENGTH, TYPE_FLOAT, _T(“colorMappingOperator.shoulderStrength”),
PARAM_ADVANCED_FILMIC_OP_SHOULDER_LENGTH, TYPE_FLOAT, _T(“colorMappingOperator.shoulderLength”),
PARAM_ADVANCED_FILMIC_OP_SHOULDER_ANGLE, TYPE_FLOAT, _T(“colorMappingOperator.shoulderAngle”),
GM TINT
PARAM_COLOR_MAP_PREDECESSOR, TYPE_REFTARG, _T(“colorMappingOperator.nextOperator”),
PARAM_GMTINT_OP_ENABLED, TYPE_BOOL, _T(“colorMappingOperator.enabled”),
PARAM_GMTINT_OP_GREEN_MAGENTA_TINT, TYPE_FLOAT, _T(“colorMappingOperator.greenMagentaTint”),
LUT
PARAM_COLOR_MAP_PREDECESSOR, TYPE_REFTARG, _T(“colorMappingOperator.nextOperator”),
PARAM_LUT_OP_ENABLED, TYPE_BOOL, _T(“colorMappingOperator.enabled”),
PARAM_LUT_OP_PATH, TYPE_FILENAME, _T(“colorMappingOperator.path”),
PARAM_LUT_OP_OPACITY, TYPE_FLOAT, _T(“colorMappingOperator.opacity”),
PARAM_LUT_OP_LOGARITHMIC, TYPE_BOOL, _T(“colorMappingOperator.logarithmic”),
PHOTOGRAPHIC EXPOSURE
PARAM_COLOR_MAP_PREDECESSOR, TYPE_REFTARG, _T(“colorMappingOperator.nextOperator”),
PARAM_EXPOSURE_OP_ENABLED, TYPE_BOOL, _T(“colorMappingOperator.enabled”),
REINHARD
PARAM_COLOR_MAP_PREDECESSOR, TYPE_REFTARG, _T(“colorMappingOperator.nextOperator”),
PARAM_REINHARD_OP_ENABLED, TYPE_BOOL, _T(“colorMappingOperator.enabled”),
PARAM_REINHARD_OP_HIGHLIGHT_COMPRESSION, TYPE_FLOAT, _T(“colorMappingOperator.highlightCompression”),
SATURATION
PARAM_COLOR_MAP_PREDECESSOR, TYPE_REFTARG, _T(“colorMappingOperator.nextOperator”),
PARAM_SATURATION_OP_ENABLED, TYPE_BOOL, _T(“colorMappingOperator.enabled”),
PARAM_SATURATION_OP_SATURATION, TYPE_FLOAT, _T(“colorMappingOperator.saturation”),
SIMPLE EXPOSURE
PARAM_COLOR_MAP_PREDECESSOR, TYPE_REFTARG, _T(“colorMappingOperator.nextOperator”),
PARAM_EXPOSURE_OP_ENABLED, TYPE_BOOL, _T(“colorMappingOperator.enabled”),
PARAM_EXPOSURE_OP_SIMPLE_EXPOSURE, TYPE_FLOAT,_T(“colorMappingOperator.simpleExposure”),
TINT
PARAM_COLOR_MAP_PREDECESSOR, TYPE_REFTARG, _T(“colorMappingOperator.nextOperator”),
PARAM_TINT_OP_ENABLED, TYPE_BOOL, _T(“colorMappingOperator.enabled”),
PARAM_TINT_OP_TINT, TYPE_RGBA, _T(“colorMappingOperator.tint”),
TONE CURVE
PARAM_COLOR_MAP_PREDECESSOR, TYPE_REFTARG, _T(“colorMappingOperator.nextOperator”),
PARAM_TONE_CURVE_OP_ENABLED, TYPE_BOOL, _T(“colorMappingOperator.enabled”),
PARAM_TONE_CURVE_OP_HIGHLIGHTS, TYPE_FLOAT, _T(“colorMappingOperator.highlights”),
PARAM_TONE_CURVE_OP_LIGHTS, TYPE_FLOAT, _T(“colorMappingOperator.lights”),
PARAM_TONE_CURVE_OP_DARKS, TYPE_FLOAT, _T(“colorMappingOperator.darks”),
PARAM_TONE_CURVE_OP_SHADOWS, TYPE_FLOAT, _T(“colorMappingOperator.shadows”),
VIGNETTE
PARAM_COLOR_MAP_PREDECESSOR, TYPE_REFTARG, _T(“colorMappingOperator.nextOperator”),
PARAM_VIGNETTE_OP_ENABLED, TYPE_BOOL, _T(“colorMappingOperator.enabled”),
PARAM_VIGNETTE_OP_INTENSITY, TYPE_FLOAT, _T(“colorMappingOperator.intensity”),
PARAM_VIGNETTE_OP_FALLOFF, TYPE_FLOAT, _T(“colorMappingOperator.falloff”),
WHITE BALANCE
PARAM_COLOR_MAP_PREDECESSOR, TYPE_REFTARG, _T(“colorMappingOperator.nextOperator”),
PARAM_WHITE_BALANCE_OP_ENABLED, TYPE_BOOL, _T(“colorMappingOperator.enabled”),
PARAM_WHITE_BALANCE_OP_COLOR_TEMPERATURE, TYPE_FLOAT, _T(“colorMappingOperator.colorTemperature”),

Tarafından desteklenmektedir BetterDocs

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir