If this is your first visit, be sure to
check out the FAQ by clicking the
link above. You may have to register
before you can post: click the register link above to proceed. To start viewing messages,
select the forum that you want to visit from the selection below.
New! You can now log in to the forums with your chaos.com account as well as your forum account.
Can you give us an idea about the kind of meshes you are deforming ?
What's the vertex/poly count ? What tool did you use to deform them in the original application ?
The main issue with deforming meshes is that they will have to be streamed from CPU memory, and for really big meshes, that could be slow.
Usually in game engines, there is some kind of (limited) support for skinned meshes.
The deformation is applied on the GPU, no need to stream the data from CPU to GPU.
So, it's fast.
The way we store the data in the .vrscene file and the way we read it from Alembic, we would have to replace the whole mesh on each frame.
The meshes are usually characters or some props. In Maya we use latices, skeleton, non-linear deformers, and blendshapes. All the point counts and point orders are maintained from frame to frame. Basically this is character animation, tho alot of times characters aren't bipeds, it could be an object like a container from a product.
Why I am asking? :
I thought Lavina could be a really cool tool for the animators to explore animation scenes in realtime (usually 24 or 25fps). Potentially used for rendering animations before the lighting team comes onto a job? This would be much much easier than trying to go thru something like Unreal or Unity. For me its less about final frame rendering since we will do that in vray for maya.
Workaround ? :
There's quite a bit of free vram when i bring our scenes over, especially the animators scenes. So i wondered if it would be possible to put a copy of the meshes from each frame into vram. If lavina will respect visibility keys i can prob try this now with an old school script to duplicate a deformed mesh on each frame and create visibility keys to match it.
Solution ? :
What you said about engines supporting deformation is interesting, because doing good quality deformation in engine is still something thats not always done. I've seen some interesting tools to convert non point order/count changing geometry into a collection of TRS animated bones. this seems to be one of the best ways to bring deformation over into a game engine; i guess it actually works. the next most interesting workaround i've seen is where the deformation is baked to an image (or images, or tiles) where each frame or image tile contains the data to deform the mesh. In both cases i believe its what you said about the mesh getting deformed on the GPU. I'm guessing your team is pretty across these techniques, but they are still fun to chat about!
I hope lavina will be able to handle deforming geo soon so that our scenes will work with it.
Supporting deforming geometry (which to Lavina is akin to a series of morph targets) is incredibly challenging for real-time playback.
That said, would it be of use to you if Lavina did support deformations for offline rendering, and you were allowed to "fetch" the geometry for the current frame while working in Lavina?
The latter would be like a "scene update" after which the geometry would be fixed as it is today from the start frame.
I gave this alot of thought and i do think it would be helpful. Anything we can do to eventually get our scenes into realtime would be awesome. (not wanting to go into unreal/unity for this)
if its possible to have the fetch happen automatically for offline rendering that would be really cool as well.
I understand that realtime deformations would be slow and use alot of vram but i do think this is "the future" of this tech. like the stuff Oat studios did with alembics and unity (LINK).
So anything getting us closer to supporting our production vrscenes would be awesome.
Supporting deforming geometry (which to Lavina is akin to a series of morph targets) is incredibly challenging for real-time playback.
That said, would it be of use to you if Lavina did support deformations for offline rendering, and you were allowed to "fetch" the geometry for the current frame while working in Lavina?
The latter would be like a "scene update" after which the geometry would be fixed as it is today from the start frame.
would it be of use to you if Lavina did support deformations for offline rendering, and you were allowed to "fetch" the geometry for the current frame while working in Lavina?
The latter would be like a "scene update" after which the geometry would be fixed as it is today from the start frame.
Kind regards,
- Phil
Hi Phil
Yes that would very very much increase the usefulness of Lavina!
Supporting deforming geometry (which to Lavina is akin to a series of morph targets) is incredibly challenging for real-time playback.
That said, would it be of use to you if Lavina did support deformations for offline rendering, and you were allowed to "fetch" the geometry for the current frame while working in Lavina?
The latter would be like a "scene update" after which the geometry would be fixed as it is today from the start frame.
It would be really nice for the children animation which doesn't need high quality image if Vantage supports deformations like this one - https://youtu.be/P_7B9_H6XEI?t=696 ( MIRROR - http://mirror.virtueal.cn/ ).
Of course it would be great if we could have V-Ray for Maya Live Link first.
BTW, I got a test. And it worked with V-Ray for Unreal as well.
1. Send a maya scene file to unreal engine using V-Ray for Unreal
2. Send the result of realtime rendering to Maya using MIRROR
3. Import a character animated
4. Get Sequence Images using Playblast in Maya
Of course it would be great if we could have V-Ray for Maya Live Link first.
You can already try the live link with V-Ray for Maya.
You just have to start IPR in Maya with local host disabled and DR enabled with a single localhost server on the correct Vantage port.
You can already try the live link with V-Ray for Maya.
You just have to start IPR in Maya with local host disabled and DR enabled with a single localhost server on the correct Vantage port.
Thank you for the update! But it looks like that Vantage can't load the textures or materials as you can see the below image. Is it known issue?
Can you check the Vantage debug log for errors, send me part of the scene or at least a screen-shot of the shading network in Maya ?
I just used a single vraymtl with a file node for the diffuse,
And here is the debug log from Vantage.
--
Default config loaded successfully.
Scene cleared.
Gizmo geometry generated in 1 ms
Filling plug-in map took 0.00 seconds.
Used plugin types:
BRDFVRayMtl
BitmapBuffer
CameraDefault
FilterLanczos
GeomStaticMesh
InfoRenderEngine
LightDome
MaterialOverrider
MtlSingleBRDF
Node
RTEngine
RenderView
TexBitmap
UVWGenMayaPlace2dTexture
--------------------------------------------------------------------------------------------------------
For all scenes loaded so far :
13 x MtlSingleBRDF
9 x BRDFVRayMtl
6 x TexCombineColor
6 x Node
5 x TexBitmap
5 x GeomStaticMesh
5 x BitmapBuffer
4 x Mtl2Sided
4 x ColorCorrection
4 x UVWGenChannel_fast_uvw_tm
4 x UVWGenChannel_fast
4 x UVWGenChannel
4 x UVWGenChannel_mode_1
4 x UVWGenChannel_crop_0
4 x UVWGenChannel_wrap_different
3 x UVWGenChannel_uvw_tm_is_id
2 x LightDome
2 x RenderView
2 x FilterLanczos
2 x InfoRenderEngine
1 x UVWGenMayaPlace2dTexture
1 x CameraDefault
1 x TexChecker
1 x MtlMulti
1 x GeomMeshFile
1 x CameraPhysical
1 x RTEngine
1 x UVWGenEnvironment
1 x BRDFBump
1 x MaterialOverrider
--------------------------------------------------------------------------------------------------------
Loading SettingsUnitsInfo
Loading SettingsOutput
Loading camera.
Loading RenderView (renderView) !
Light plugins found: 1 .
Found light with type LightDome (VRayLightDomeShape1) !
Lights loaded.
Loading global light level.
Loading nodes...
Node plugins found: 2
Shading graph finalize : 2 nodes ( 2 to eval), 4 slots. Name: VRayMtl1@vraymtl.
Nodes loaded in 0.00 seconds.
Instancer plugins found: 0
Instancers loaded in 0.00 seconds.
Computing scene bounding box took 0.00 seconds.
Loaded '' | Uniq. vertices : 503.00 | Uniq. faces : 960.00 | Nodes : 2.00 | Inst. vertices : 503.00 | Inst. faces : 960.00 |
Loading scene took 0.01 seconds !
Light tree build took 0 milliseconds.
Using 0 lights !
Updating GPU lights took 0 milliseconds to execute.
Copying geometry data to GPU took 0 ms, copy scheduling alone took 0 ms!
build schedule create buffers : 0 ms, build schedule command (CPU) : 0 ms, build schedule total : 0 ms
Build schedule : 0 ms; Build command (GPU) : 0 ms
BLAS schedule and build took 1 ms !
Compacting BLAS buffers...
Original BLAS buffers | Dedicated : 1.31 M ( 787.63 K alloced) |
Compacted BLAS buffers | Dedicated : 1.13 M ( 666.00 K alloced) |
Difference | Dedicated : 192.00 K ( 121.63 K alloced) |
Compacting BLAS buffers took 2 ms and saved 192.00 Kbytes on the GPU ( 14.29 % ), required additional 1.13 Mbytes during compaction.
--------------------------------------------------------------------------------------------------------
Compacting BLAS buffers...
Original BLAS buffers | Dedicated : 128.00 K ( 67.88 K alloced) |
Compacted BLAS buffers | Dedicated : 128.00 K ( 56.50 K alloced) |
Difference | Dedicated : 0.00 ( 11.38 K alloced) |
Compacting BLAS buffers took 2 ms and saved 0.00bytes on the GPU ( 0.00 % ), required additional 128.00 Kbytes during compaction.
--------------------------------------------------------------------------------------------------------
TLAS building took 5 ms !
(VRayMtl1@vraymtl) Serialized shading graph size : 228 bytes
Memory for all shading graphs : 0.22 KBytes.
Textures load time : 0.10 seconds, wait time : 0.02 seconds. Loaded 1 8-bit textures, 0 16-bit textures and 2 32-bit textures !
BLAS tmp mem | Dedicated : 832.00 K ( 83.88 K alloced) | Shared : 320.00 K ( 480.00 alloced) | Total : 1.13 M ( 84.34 K alloced) |
Geometry mem | Dedicated : 256.00 K ( 29.25 K alloced) | Shared : 384.00 K ( 29.25 K alloced) | Total : 640.00 K ( 58.50 K alloced) |
Instance mem | Dedicated : 64.00 K ( 280.00 alloced) | Shared : 64.00 K ( 280.00 alloced) | Total : 128.00 K ( 560.00 alloced) |
BLAS mem | Dedicated : 128.00 K ( 56.50 K alloced) | Shared : 0.00 ( 0.00 alloced) | Total : 128.00 K ( 56.50 K alloced) |
TLAS mem | Dedicated : 128.00 K ( 2.25 K alloced) | Shared : 64.00 K ( 128.00 alloced) | Total : 192.00 K ( 2.38 K alloced) |
Total geom mem | Dedicated : 576.00 K ( 88.27 K alloced) | Shared : 512.00 K ( 29.65 K alloced) | Total : 1.06 M ( 117.92 K alloced) |
Total gizmo mem| Dedicated : 2.81 M ( 980.36 K alloced) | Shared : 3.25 M ( 307.93 K alloced) | Total : 6.06 M ( 1.26 M alloced) |
Texture mem | Dedicated : 51.88 M ( 50.49 M alloced) | Shared : 0.00 ( 0.00 alloced) | Total : 51.88 M ( 50.49 M alloced) |
Process Dedicated | Budget : 7.14 G, Usage : 1.03 G, Available for reservation : 3.69 G, Current reservation : 0.00
Process Shared | Budget : 31.22 G, Usage : 421.39 M, Available for reservation : 15.74 G, Current reservation : 0.00
--------------------------------------------------------------------------------------------------------
------------------------ Memory Manager State
0.00bytes in 0 free heaps.
Tier ' Forever' | heaps : 1 | free ranges : 2 | total : 64.00 Mbytes | free : 54.19 Mbytes | largest range : 34.81 Mbytes
Tier ' Frame' | heaps : 1 | free ranges : 1 | total : 64.00 Mbytes | free : 63.75 Mbytes | largest range : 63.75 Mbytes
Tier ' Temp0' | heaps : 0 | free ranges : 0 | total : 0.00bytes | free : 0.00bytes | largest range : 0.00bytes
Tier ' Temp1' | heaps : 0 | free ranges : 0 | total : 0.00bytes | free : 0.00bytes | largest range : 0.00bytes
Total managed memory : 128.00 Mbytes !
--------------------------------------------------------------------------------------------------------
Initializing lights' UI took 0.00 seconds.
It seems the texture is loaded correctly.
Do you happen to have multiple UV sets on your mesh ?
Vantage currently supports only one and it may be using the wrong one.
It seems the texture is loaded correctly.
Do you happen to have multiple UV sets on your mesh ?
Vantage currently supports only one and it may be using the wrong one.
There is just one UV set on the objects. The sphere and the plane are just polygon primitives in Maya.
And there is no problem with the same objects in 3ds Max.
Comment