This is a fantastic idea, one I will likely use in several of my builds in the future, thank you!!
However, I’m seeing an issue with lighting on the 3D skybox model, so it looks pretty funky and discolored.
Would there be any way to fix this? or is it an inevitable result?
It’s pretty much just a single ViewportFrame, so it has all the limitations that come with them (So lighting isn’t supported), I’ve also noticed strange behaviour when using fog, so it’s probably not recommended to use that with this either.
I’ve just began using this, and I’m quite pleased! There is one small thing that I’m not sure you’re aware of: the script doesn’t keep the skybox camera’s FieldOfView equal to the CurrentCamera’s. Video example:
I know I’m doing something wrong, I cant seem to figure out how to get it working with my custom mesh landscape, or even with the stock city one… I put my mesh part as a child of Viewpoint Frame in the model, and I throw it into the Starter GUI, but it seems too high as I’m “under” the mesh, so I drop the Y value for the camera, but it just disappears… If you want more of an explanation or me to show what I’m talking about, msg me and we can exchange discord tags.
This looks seriously awesome!! Really creative way of using the ViewportFrame, can’t wait to experiment with it Skyboxes seem to be the one thing the interwebs can’t (or won’t) tell me how to make, so this could be really useful
This is really cool and I’ve been playing around with it in various projects with some fun results. I am curious how you got the moving part to work fine though. I’ve attempted several solutions and any part that moves just fine in the workspace is frozen in the viewport.
EDIT: After playing around with it a bit more, I’ve discovered that beginning the simulation with an empty 3DSkybox Viewport and dragging the moving object from the Workspace directly into my player’s GUI folder causes the object to move in the Viewport as intended. How can I work around this and allow the object to move straight from the StarterGui? I’ve tried programming the object to parent itself to the Viewport in the StarterGui after first loading in the Workspace to get the movement script working, but then it doesn’t update with the player’s own Gui folder.
Since it’s a ViewportFrame, it won’t simulate any physics (So no Motor6D animations etc), in the example pyramid above, I just used a simple script that updates the pyramids CFrame each frame.
I believe there are some methods which allow you to create animations within a ViewportFrame, however, if I remember correctly, they use a similar hack to what you described originally (But updating each frame, which could be quite costly).