WorldModel Is Now Available

Both Workspace and WorldModel descend from WorldRoot; so they’re more brothers :wink:

2 Likes

Question, are beams, particles and trails going to work + better lighting or a graphics setting?
I plan on using this for FPS view models, need the trails for melee stuff.

Also haven’t tested yet but if humanoids work does that mean animationcontrollers work too?

3 Likes

would doing something like putting the player’s character into it work?

EDIT 2: WorldModel is way laggier than the old way, I was hoping it’d be an official way to handle animations within viewportframes but I guess not.
Capture2

EDIT: FIXED AFTER BRIEFLY PARENTING TO WORKSPACE
I’m experiencing an issue where only LowerTorso is animated. (HumanoidRootPart is the only one anchored)

5 Likes

for just character portraits using the same animation, is it still faster to just have some animated ghost dummy in workspace that is CFrame replicated in the viewport?
i’m not sure where this feature is specifically superior to previous viewport applications

do you have a small place file which repros your issue?

1 Like

what exactly are you trying to do, and what is going wrong for you? do you have a small place file which repros your issue?

1 Like

Trying to play an animation in a WorldModel, but it does not seem to replicate the animation to the viewport frame unless I disable and renable the character’s joints. Am I doing something wrong?

What I am doing is:

  1. Creating a viewport camera, parenting it to a viewport frame inside a screengui.
  2. Creating a WorldModel, parenting the worldmodel to the viewport frame
  3. Cloning a NPC from the workspace, parenting it to the world model
  4. Play the animation inside the character.

Here’s a file containing the code:
bug.rbxl (57.2 KB)
The Script is inside the screengui in the StarterGui.

1 Like

image
viewport frame ^
image
rbx character ^

faces seem to be not rendering correctly

4 Likes

animations and all body parts should be ok in the WorldModel. I’ll try to take a look into this. Thanks for the repro place

4 Likes

Cheers, thanks. I forgot to mention that I got the character from going into play mode, copying the character in game, stopping the play test and pasting the character into the workspace.

I think that might be the source of the bug since I tried using one of the characters from the roblox animator and that worked fine without renabling the motor6ds.

also, video of the bug: https://streamable.com/3b23zc
You can see it’s doing the animation because the players head is moving, just not replicating in the viewport.

2 Likes

in my case it makes much more lag than animated ghost dummy in workspace having its cframes replicated to viewportframe.
please note that making viewportframes invisible does NOT remove lag meaning animation update is called regardless. Even after stopping all animations when frames go invisible, the lag doesn’t disappear. It means simply creating many instances of worldroot seriously affects game performance.

Unfortunately no. WorldModels simulate Humanoid joints/animations/etc and allow raycasts and stuff from within the WorldModel. This does not allow us to display terrain, but a feature request for this would be cool if one isn’t already made.

3 Likes

WorldModels do not simulate physics at all from my understanding (not even on Humanoids).

1 Like

Unfortunately this isn’t possible since pathfinding uses its own service, however, I’d love something like this. I’ll make a feature request to allow pathfinding from a WorldModel as I think this is something that’d be extremely useful.

2 Likes

how does the worldmodel work? and how come when a world model is animated, its physical objects that are rendered dont move, but its objects move? or just it doesnt render object movement?

i am selecting parts of the npc
https://gyazo.com/28af6b81f4aeb835dd97804709f878aa

it seems as if the rendered objects only move when i reparent the worldmodel. why is this?

by the way, the worldmodel gives the same problem in a viewport frame. so i cannot animate it in viewport frame. I tried printing out part cframes every frame, and it seems as if they are being animated, but for some reason they don’t render

I think it happens when we tween something with the worldmodel inside, that’s what it looked like to me anyway.

This. I’ve had this issue as well.

Thanks for this amazing feature

This is so useful for detecting collisions in my furniture placement system. I can do :GetTouchingParts() within a single WorldModel in ServerStorage to avoid having to put everything in workspace and replicate all my invisible parts to every client.

3 Likes

would it not be easier to simply have it update every increment and not have to animate in the viewport?