Creating a rotatable fake skybox


#1

In the space game I’m planning on creating, it is absolutely necessary that the ship stays still, but the environment moves around it.

I’ve done this by moving and rotating every object in space, to give the illusion that the ship you’re inside is moving. This works fine, and the only problem I’ve encountered is the skybox not moving with it - when the skybox is still and the world is moving, the effect is completely ruined.

What I’m looking for is a solution that will allow me to rotate the skybox (to mimic the rotation of the ship).


What I’ve tried:

  • Surface GUI skybox
    Problem: Moving it at all causes a ton of lag

  • Image Handle Adornment skybox
    Problem: The transparency of the cockpit is ruined, due to the weird clipping issues w/ transparent parts

  • Inverted Sphere, with a skymap mapped to it
    Problem: The uploadedable texture size is far too low-res, and doesn’t look convincing at all


Are there any other things I could try? Would really appreciate help with this, as keeping the ship still is crucial to the mechanics of the game.

Thanks!


#2

Is there a certain reason why you can’t just change the actual skybox?


#3

I think he wants it to look like the ship is moving past the stars or something. I don’t think it’s really possible with the current skybox system.


#4

The skybox has to be able to rotate, to give the illusion that the whole world is moving.


#5

I’m pretty sure that it’s not. :confused:


#6

The only way I can think of doing this with the actual skybox object is animating it manually. That doesn’t sound like fun, especially since it’s a space game that probably has like a million stars on the skybox.


#7

You could use one of those GIF to decals converter then constantly update the skybox


#8

Some other ideas:

  • Try using Beams
  • Try using multiple meshes (e.g. one for each wall that is somehow centered at the origin) so you can apply a full 1024x1024 texture to each mesh.

#9

Depending in the situation you could weld an inverted sphere mesh to the camera and maths it up to rotate correctly. Just a case of making the mesh large enough while still rendering.


#10

What if you’d use an inverted sphere that’s split into multiple pieces? This way you will be able to achieve higher resolution textures, and it will also be easy to rotate around.


#11

Will probably end up doing this, I’ll test it tomorrow.


#12

use a big rotating sphere like the old storm skyboxes


#13

Can I see the proof-of-concept of the moving world? Or is it not done?


#14

You could make the skybox entirely black and:

  • Use particle sources to emit white spheres for stars flying by
  • Use a beam with small white dots for stars
  • Use white spheres with Neon material

#15

This might work, but the issue with that is if you are set on any lower quality settings, the sphere won’t render and only the skybox will.


#16

Depends how far from the player it is. It doesn’t have to contain too many parts either.


#17

Well, generally it would look better if it was larger, as it wouldn’t look like just a giant shell encasing (unless you find some way of turning off its shadows)


#18

There is always a solution for shadows :wink:
I think if the sphere was always positioned at the player('s camera), the size of it wouldn’t matter that much. As long as it wouldn’t intersect with the ship itself and wasn’t visible going through the hull :stuck_out_tongue: