Jak przenosić sceny V-Ray między aplikacjami



Opublikowane: 28 wrz / 2022 Kategoria: Grafika 3D, Tagi: , ,

Jak rozwiązać problem z przenoszeniem sceny gotowej do renderowania. Przeczytaj!


Format V-Ray Scene

Przenoszenie sceny z jednej aplikacji, by renderować w drugiej nie jest proste. Format FBX częściowo rozwiązuje problem z geometrią, podstawowymi światłami, kamerami i może animacjami, ale nie działa dla tak specyficznych rzeczy jak światła i materiały V-Ray. Za pomocą plików zapisanych w formacie V-Ray Scene (.vrscene) jesteśmy w stanie rozwiązać ten problem.


Czym jest V-Ray Scene?

V-Ray posiada kilka własnych, zastrzeżonych formatów plików. Najpopularniejszym formatem jest V-Ray mesh (.vrmesh) dla obiektów proxy. Używa się go do odciążania ogromnych ilości danych, by następnie renderować je na żądanie. Świetnie się sprawdza przy ciężkiej geometrii, instancjonowanych obiektach czy nawet przy pełnych projektach środowisk. Bardzo dobrze radzi sobie z zadaniami, do których jest przeznaczone ale konwertuje jedynie geometrię. Wszelkie shadery musiałyby zostać ponownie przypisane do obiektów.

Plik V-Ray scene (.vrscene) nie jest jeszcze tak popularny jak V-Ray mesh, ale rozwiązuje on problemy, z którymi nie radzi sobie V-Ray mesh. Pierwotnie .vrscene został opracowany jako sposób renderowania do V-Ray standalone, pliki scen V-Ray zawierają wszystko, co potrzebne do renderowania. Oznacza to, że możliwe jest również renderowanie bezpośrednio z wiersza poleceń – bez otwierania pliku w aplikacji 3D.


Co przesyłamy?

  • Geometrię razem z UV
  • Shadery
  • Światła
  • Włosy
  • Wypalone animacje

Czego nie przesyłamy?

Ze względu na to, że sceny V-Ray są importowane w 3ds Max jako pojedynczy obiekt lub jako pojedynczy node w Maya, to wszystko jest przesyłane jako całość. Z tego względu poszczególne elementy sceny nie mogą zostać wybrane w programie do grafiki 3D. Są to elementy sceny takie jak:

  • Indywidualne shadery
  • Indywidualne światła
  • Kamery
  • Edytowalna geometria – geometria jest przesyłana jako całość, podobnie jak w przypadku plików V-Ray mesh
  • Geometria i shadery, które są uzależnione od plug-inów mogą również nie zostać przesłane. Ogólnie rzecz biorąc, jeśli zostałyby wyrenderowane przez V-Ray Standalone, to zostaną przesłane.

Przykładowe zastosowanie

Udostępnianie assetów pomiędzy studiami
Wyobraźmy sobie, że mamy dwa studia VFX pracujące razem nad tym samym filmem. Jedno studio tworzy środowisko za pomocą V-Ray Maya, a drugie studio chce wyrenderować ich animowaną postać z poziomu 3ds Max w tym właśnie środowisku. Pierwsze studio udostępnia scenę zapisaną w formacie .vrscene, a druga wczytuje ją w 3ds Max. Wszystko czego potrzebują do renderowania jest przesłane. Mogą nawet zmienić ustawienia świateł, jeśli tego chcą.

Render V-Ray dla 3ds Max

Render wykonany w V-Ray dla Maya

renderowanie alternatywne oswietlenie V-Ray

Render wykonany w V-Ray dla 3ds Max używając sceny V-Ray i alternatywnego oświetlenia


Importowanie modeli kupionych online

Powiedzmy, że kupujesz szczegółowy model mebli online, ale jest on dostarczany tylko jako plik 3ds Max. Dzięki scenie V-Ray możesz zaimportować to do Maya i zachować nienaruszone shadery. Możesz nawet zduplikować obiekt lub wykonać wiele kopii.


Współdzielenie oświetlenia z zachowaniem kompozycji

Załóżmy, że oświetlasz scenę w V-Ray dla Maya, a twój kompozytor chce wyrenderować tę samą scenę, dodając Houdini VDB w V-Ray dla NUKE. Możesz po prostu udostępnić swoje ustawienia oświetlenia jako plik sceny V-Ray. Wtedy rendery NUKE będą pasowały do twoich renderów z Maya.


Jak przesłać scenę z 3ds Max do Maya

  • Mając otwartą scenę, którą chcemy przesłać, wybieramy w górnej części okna programu, zakładkę V-ray i z okna dialogowego wybieramy opcję .vrscene exporter. Tutaj będziemy mogli zdecydować co dokładnie chcemy przesłać. Więcej informacji możemy znaleźć w oficjalnej dokumentacji Chaos Group.

Maya, V-Ray i z okna dialogowego V-Ray Scene

Z poziomu Maya, wybieramy zakładkę V-Ray

V-Ray Scene

Wybieramy z okna dialogowego V-Ray Scene


 

  • W tym oknie wybieramy Improt Objects i szukamy plików .vrscene w miejscu gdzie je zapisaliśmy.
    Należy pamiętać, że sceny w 3ds Max są zazwyczaj z orientacją, określoną w ten sposób, że oś Z jest osią określającą wysokość a w Maya osią odpowiedzialną za wysokość jest oś Y. Podczas importowania, scena powinna automatycznie zmienić się na scenę z osią Y jako określającą wysokość, ale można wybrać czy chce się te osie zamieniać czy też nie.

VRayScene Manager


Przesyłanie scen z Maya do 3ds Max

Zapisywanie sceny V-Ray z Maya różni się delikatnie od tego procesu w 3ds Max. Najpierw należy otworzyć okno z ustawieniami renderowania. Potem, w zakładce common znajdziemy rozwijaną sekcję Translator w której możemy zaznaczyć by wyeksportować scenę do formatu .vrscene. W tym miejscu możemy również odznaczyć opcję renderowania, jeśli jesteśmy tylko zainteresowani eksportowaniem sceny. W przypadku gdybyśmy woleli zrobić to z poziomu skryptu MEL, możemy użyć komendy vrend.

W 3ds Max tworzymy obiekt VRayScene
Teraz, z poziomu 3ds Max wystarczy stworzyć obiekt VRayScene i importować zapisany plik, który wyeksportowaliśmy z Maya. Tak samo jak w poprzednim przypadku, należy pamiętać o osiach określających wysokość.


Dla zaawansowanych

Jeżeli chcemy nadpisać konkretne parametry naszej sceny V-Ray, to możemy to zrobić za pomocą odrobiny programowania. Na przykład, poprzez dodanie poniższego kodu do Override Snippet, możemy przypisać nowy materiał gliny do wszystkich obiektów w scenie.

BRDFDiffuse clayBrdf {
color=Color(0.35,0.35,0.35);
}

MtlSingleBRDF clayMtl {
brdf=clayBrdf;
}

// Override material on all Node plugins.
Node <*> {
material=clayMtl;
}


Wnioski

Format zapisu scen .vrscene jest szczególnie przydatny jeśli chcemy przenieść całą, gotową do renderu scenę – z całą geometrią, shaderami i światłami – z jednej aplikacji, do drugiej. Możliwe jest nadpisanie niektórych aspektów sceny, takich jak shadery, ze względu na to, że sceny V-Ray są parsowalne.


Autor: Piotr Bolek | PCC Polska