We have released the new WorldModelInstance type. The WorldModel provides some physics features to a ViewportFrame. More specifically, you can make a WorldModel a child of a ViewportFrame, and then parent geometry to the WorldModel. This will then allow you to use raycasts in the ViewportFrame through the WorldModel. Furthermore you can put Humanoid characters in the WorldModel and their joints will be set-up correctly, and you can animate them.
I was literally discussing adding animated characters to a viewport frame with @WisdomClock today. This came at the perfect time for us haha
Will this allow particles to play in viewport frames, and if not are there plans to add this functionality?
Also would be great to know if we will ever be allowed to put SurfaceGui objects into a viewportframe.
Are WorldModels usable outside of ViewportFrames? For instance, can I still use the raycasting methods of WorldModel on the server to raycast against parts that aren’t members of the workspace without having to replicate them to every client.
Would using the WorldRoot with limited amount of parts be more efficient than using :FindPartOnRayWithWhitelist with same parts on workspace (considering workspace has many other different instances)?
so does this mean when parenting a humanoid model to it, it’ll just fall into the abyss, or will they stay in place? basically, will I need to create a baseplate for humanoids to stand on?
Wow, I was actually just going through the calculations for doing animations in viewport frames yesterday, which I finished. However, I only need to modify a few lines of code to have the animations work with this new instance.
Although, I’m wondering which way is more efficient before I go and swap it. Would manually setting each CFrame of the limbs or setting the Transform of Motor6Ds with a WorldModel Instance be more efficient?
It seems like R15 character scaling values inside humanoids (such as BodyHeightScale) do not work properly on characters placed inside a WorldModel. Was this overlooked, or is it a limitation we shouldn’t expect to be remedied?
Until then, I will have to go back to the old ways of using invisible animated characters in the workspace.