WARNING : This site is outdated and the PopcornFX team will no longer answer your questions here.
For all support questions please go to our Discord server
0 like 0 dislike
Hi is there a collection of best practices to keep in mind for VR particles?
like, using mesh renderers instead of billboards?
or to give the billboards a slight rotation on the Y axis somehow?
number of particles to stay below maybe?
issues with certain effects like distortion, etc?

also is it my imagination that the unreal popcornfx has more features than the unity plugin, even though it's newer? like lights, or attribute samplers?
by eugeneflormata (200 points)

1 Answer

0 like 0 dislike

Regarding the two plugins for UE4 and Unity, indeed the UE4 plugin has many more features.
The main reason being that we have access to UE4's source code, and their engine API is opened, plugins can use whatever they need. so we're able to use unreal's shaders, lighting pipeline, real scene collisions, and other cool things, like if you have a custom engine and do a native integration of the PopcornFX SDK.

whereas Unity's API for native plugins is awfully limited, and we have to use hacks to make most things work. some things aren't even possible for us (like using Unity's material and lighting pipeline, we're forced to render everything by hand).

regardint attribute samplers, we do have them working in a internal unity-plugin build since a couple weeks now, so you can expect them pretty soon in an upcoming plugin update.

attribute samplers have been in the UE4 plugin since the early beta versions, but the reason it has come so late for Unity is simply because development time is much longer with Unity than with UE4. due to that limited API and all those hacks and workarounds we have to use to make things work, most of the development time is spent on support, bugfixes, and finding arcane ways to solve unity-specific problems :/, whereas for UE4, everything goes nice and smooth.



Regarding VR, very small billboards are fine (any billboarding mode), for things like sparks, small dust motes, etc..

medium-sized billboards can be fine as well, but I'd suggest you stay away from screen-aligned and most axis-aligned (planar are fine), and use "viewpos-aligned" instead of screen aligned.

screen aligned are aligned to the flat plane of each eye's camera, and won't take perspective distortion into account, producing weird mind-bending, headache-inducing shapes when viewed in VR, when the two images are merged together by your brain.

whereas the viewpos aligned mode rotates the billboards to face the center of each eye, which is much better (but will still slightly differ for each eye).

for large billboards, there's simply too many artefacts, and it's too obvious they're big flat planes, it's better to go with meshes. (planar billboards are fine though, as they're obviously 3d planes, and they'll stay consistent between the two eyes, so no issues there)

Also, unless maybe for very small ones, stay away from camera-facing ribbons, and prefer the axis aligned ones, which will produce 3d planes "fixed" in the world, whose orientation won't change with each eye.

I'd stay away from distortion alltogether in VR. I don't recall we ever tried distortion on an HMD, but it seems like it'd produce uncorrelated distortions on each eye, that wouldn't properly match and give a coherent 3D image. (unless maybe if you're doing the distortion with a mesh and not a billboard ?)

By the way, are you using the UE4 or Unity plugin?
by Julien (35.3k points)
Hi! Thx for the detailed reply, my dev is just using the unity license he has, we don't have the unreal one, just reading the feature list for the 2 engines. But I'm having a lot of fun with the builder.