3DSkybox - A way to create more immersive skyboxes for your game


This is cool, thank you for posting this!


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.

	pyramid.CFrame = pyramid.CFrame * CFrame.Angles(0, math.rad(0.5), 0)

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).


This brings me back to the HL2 and Portal 2 days, where Valve projected skyboxes using a similar method.

Good work! Can’t wait to mess around with this idea.