Seamless skybox transition

http://i.imgur.com/QH5msJE.gif

gimme dem likes k thx bai.

10 Likes

Found an error that’s obviously the fault of your code and not roblox’s.

0/10 no likes will be given

blob.jpg

1 Like

Gimme ur name and adress sir and ill send my crew to fix that bug asap!

How did you do this? 6 block meshes with massive scales and massive offsets?

Ok here’s how I made it:

I made a sky thats a box, aka a skybox.

TR0L0L0L0L0LLLL00000L


I’m sorry but I will not tell how, and I would also appreciate it if those who do figure out how I made this doesn’t spoil it by posting how. Its a puzzle you developers must figure out. @TheNexusAvenger, I wish it was that simple but it is not.

The biggest hint:

2 Likes

1 Like

Annoying as heck rendering glitch of roblox’s .-…

i’m guessing surfaceguis idk

1 Like

You mean, “fix up his kneecaps”, right?

On topic, it looks nice… Tempting to fiddle around on how it works, heh.

Nope. Those would get cut off by the far clipping plane if you set your graphics to 1. Hint: Documentation - Roblox Creator Hub

Wait what is this? O.O

Oh, that’s not how you’re doing it? I guess it’s fine to post my method then. It still has the same weakness as yours (breaks transparency), but as an added bonus you can also fade between colors:

InterchangeableSkyboxes.rbxl (17.7 KB)
(I think I accidentally switched some of the Skybox faces so they don’t line up between some, but anyone who wants to use it can easily fix that)

2 Likes

I never knew about that object so… I just ended up using 6 surface guis but… this wouldn’t have the clipping (stops rendering) issuse at further distances right?

http://i.imgur.com/1qP2dPu.gif

what

6 Likes

Not the one tied to graphics level, but there’s a hard limit ROBLOX has coded in that prevents _anything from being rendered past a certain distance. I have the ImageHandleAdornments safely at about 2500 studs (max is 4096 or something like that, but even at 3000 you still get still get some triangles not being rendered due to camera rotation).

what[2]

What did you change?

I changed nothing. D:

When there’s a glitch in life’s simulation. We’re all in the matrix.

So I tried parts… nope.

local Distance = 2000

local SkyboxBk = "http://www.roblox.com/asset/?id=368385273"
local SkyboxDn = "http://www.roblox.com/asset/?id=48015300"
local SkyboxFt = "http://www.roblox.com/asset/?id=368388290"
local SkyboxLf = "http://www.roblox.com/asset/?id=368390615"
local SkyboxRt = "http://www.roblox.com/asset/?id=368385190"
local SkyboxUp = "http://www.roblox.com/asset/?id=48015387"

local Camera = game.Workspace.CurrentCamera
local Back = CFrame.new(0,0,2)

local function CreatePart(Texture,Face,ScaleMult,OffsetMult)
	local Part = Instance.new("Part")
	Part.Size = Vector3.new(1,1,1)
	Part.Transparency = 1
	Part.CanCollide = false
	Part.Anchored = true
	Part.TopSurface = "Smooth"
	Part.BottomSurface = "Smooth"
	Part.Parent = Camera
	
	local Mesh = Instance.new("BlockMesh")
	Mesh.Scale = ScaleMult * Distance
	Mesh.Offset = OffsetMult * (Distance/2)
	Mesh.Parent = Part
	
	local Decal = Instance.new("Decal")
	Decal.Texture = Texture
	Decal.Face = Face
	Decal.Parent = Part
	
	return Part
end

local SkyboxParts = {}
SkyboxParts[CreatePart(SkyboxFt,"Back",Vector3.new(1,1,0),Vector3.new(0,0,-1))] = CFrame.new()
SkyboxParts[CreatePart(SkyboxBk,"Front",Vector3.new(1,1,0),Vector3.new(0,0,1))] = CFrame.new()
SkyboxParts[CreatePart(SkyboxUp,"Bottom",Vector3.new(1,0,1),Vector3.new(0,1,0))] = CFrame.Angles(0,math.pi/2,0)
SkyboxParts[CreatePart(SkyboxDn,"Top",Vector3.new(1,0,1),Vector3.new(0,-1,0))] = CFrame.Angles(0,math.pi/2,0)
SkyboxParts[CreatePart(SkyboxRt,"Right",Vector3.new(0,1,1),Vector3.new(-1,0,0))] = CFrame.new()
SkyboxParts[CreatePart(SkyboxLf,"Left",Vector3.new(0,1,1),Vector3.new(1,0,0))] = CFrame.new()

local CFramenew = CFrame.new
game:GetService("RunService"):BindToRenderStep("SkyboxReposition",801,function()
	local CameraCF = CFramenew((Camera.CFrame * Back).p)
	for Part,ExtraCF in pairs(SkyboxParts) do
		Part.CFrame = CameraCF * ExtraCF
	end
end)
(*w*) only I will know what I did. :3