Let me guess, you are creating your PRT Volumes using the Create tab of the Command panel?
When I create a PRT Volume using the [VOL] icon as everybody should, the pivot of the PRT Volume gets aligned to the Pivot of the source object automatically. Thus, I have never seen the PRT Volume offset in any way. PRT Volume always uses the Object Space of the source, so as long as the pivot of the PRT Volume matches the pivot of the source, the two will be perfectly aligned.
If you created a Frost using its own icon (MacroScript), its pivot point would be at the average center of all selected sources at the moment of creation.
If Frost is using PRT files instead of scene objects, the transformation of the Frost pivot will affect the final result (so you should place it at the world Origin to keep them in world space), otherwise the mesh will be where the particles are in world space regardless of the Frost pivot position.
But in both cases, all you have to do is align the Pivot of the PRT Volume to the Pivot of the Frost (and even link it if necessary if you tend to move the Frost icon around), and it should always match.
Note that in the [>] button next to the PRT Volume source name, there is a sub-menu for inheriting properties like Name, Material and Pivot. Just select “Align PRT Volume To Source Object” and you should be good to go. The MacroScript does this automatically (in addition to renaming the PRT Volume and assigning the Material of the source).
Create tab is Max SDK. It does not support the crazy stuff I am writing in MAXScript to perform all the checks, alignments, material assignments etc. You just click a button and it is up to you to click and drag in the viewport to place your object.
Toolbar macros are MAXScript. I can do whatever I want there.
For example, I look at the selected objects and create one PRT Volume for each selected geometry. You cannot do that from a Create tab because it can only create one object per click.
Then I calculate the bounding volume of the selected object and adjust the viewport spacing of the PRT Volume to produce a consistent distribution regardless of the object size. I rename the PRT Volume to include the source object’s name, align the PRT Volume, assign the source’s material to the PRT Volume and also optionally hide/switch to bbox/disable Renderable property of the source so it does not appear in renders (you can set up the default behavior via the [>] menu).
It pains me seeing that nobody uses the Macro icons and all the added power. The other day Ansi posted a making of video and he used the Render Setup dialog to open the Krakatoa GUI. WTF?!
I agree that it would be a nice option.
But when we had to select between Object Space OR World Space, I think we made the right decision.
As it is now, you are free to transform the PRT Volume or parent it to a transformed object and thus translate, rotate or scale the particles freely relatively to world space. Had we gone with World Space, the particles would have been aligned to a grid in world space and would never move, just appear/disappear as meshes move/rotate/scale (you can still achieve this effect with the current PRT Volume and XForm-ed geometry). Of course, an XForm could have been used on WorldSpace PRT Volume particles to translate/rotate/scale particles, but it would have been a PITA. We wanted to be able to use a single mesh to produce a PRT Volume and then easily clone that PRT Volume and create many instances that use the same source but have different transforms.
Since the PRT Loader has the ability to apply transforms or not, it might be interesting to explore a PRT Volume with a WS option. But it won’t be in v2.0…
If you think about it, the latter is dependent on the former
You cannot have multiple object sources without supporting world space first…
So the answer for both is “not in 2.0”, but possibly after that.