How would i make a 3d-like gui?

So i have been struggling to make guis like this

Originally i made something similar to fps viewmodels but with uis, however it doesn’t overlap and clips through objects

How would i go about making it?

9 Likes

Hey, I just wanted to let you know I’m testing out a solution to this. Will be far from what’s shown in studio but should be a starting point hopefully.

1 Like

To create a 3D-like GUI in Roblox, you can use a combination of different features in the Studio such as using 3D models, lighting, and cameras. Here are some steps you can take to create a 3D-like GUI:

  1. Create a 3D model that you want to use as the background for your GUI. This can be anything from a simple shape to a detailed environment.
  2. Add a camera to your scene and set it to a perspective view. You can adjust the position and rotation of the camera to get the desired angle for your GUI.
  3. Add lighting to your scene. You can use different types of lights such as point lights, spot lights, and directional lights to create different lighting effects.
  4. Create a GUI element, such as a frame, that you want to display on top of your 3D model. You can add buttons, text, and images to this GUI element.
  5. Use the CameraSubject property of the frame to set it to the camera that you created in step 2. This will make the GUI element appear in the camera’s view.
  6. Adjust the Size and Position properties of the frame to place it in the desired location on the screen.
  7. Add a script that sets the Camera’s subject based on the player’s current position and direction of the player, so that the 3D-like GUI follows the player’s movement.

Keep in mind that making a 3D-like GUI can be challenging, as you need to have a good understanding of 3D graphics, lighting, and cameras. You may also want to experiment with different settings and configurations to achieve the desired look and feel for your GUI.

2 Likes

Please stop using ChatGPT to make answers that don’t even solve the question.

13 Likes

I dont even know what that is lol

1 Like

Oh, alright apologies then. It’s a chatbot that some people use and your answer was just formatted very similar to its responses.

2 Likes

Thanks. Honestly I did not know such things existed lol

1 Like

I was able to recreate some of the effect by applying a SurfaceGui to a part and manipulating the CFrame of that part. Then using the mouse’s relative position to the center of the screen to rotate that part.

Video:

Code:

local SCALE = 0.02

game:GetService("RunService").RenderStepped:Connect(function()
	local mouse = game:GetService("Players").LocalPlayer:GetMouse()

	local sizeX = mouse.ViewSizeX
	local sizeY = mouse.ViewSizeY

	local mouseX = (mouse.X-mouse.ViewSizeX/2) * SCALE
	local mouseY = (mouse.Y-mouse.ViewSizeY/2) * SCALE

	workspace["Tilt-UI"].CFrame = workspace.CurrentCamera.CFrame * CFrame.new(0,0,-5) * CFrame.Angles(0,math.rad(mouseX),0) * CFrame.Angles(math.rad(mouseY),0,0)
end)

Game File:
Tilt-UI.rbxl (54.8 KB)

23 Likes

Thank you so much both of you!!!

I’m not 100% sure but you might able to do this in a ViewportFrame and apply a BlurEffect to create those secondary GUIs.

1 Like

that wouldn’t work i think since surface guis don’t render properly in viewportframe

This is basicaly a surface Gui adornee on a invisible part which is forward the camera.

1 Like

Since ChatGPT became popular, theres more weird answers in DevForum, using APIs, properties, etc, that doesnt even exist in roblox hahah… And yup the format of the answers are very similar to what @Sea_KidTwelve answered.

Seems like something harmful for the DevForum, weird answers without any sense, plus, theres more scripts made by that “AI” that ppl is trying to use, and asking in DevForum why those are not working… I think those AIs are very harmful for the community…

2 Likes

Lmao

6 Likes

:open_mouth:

Just a joke :sweat_smile:

function DevForumify(text)
	text = text:gsub("%s%s+", " ") -- Removing extra spaces
	text = text:gsub("%p", "") -- Removing punctuation
	text = text:gsub("%d", "") -- Removing digits
	text = text:gsub("roblox", "Roblox") -- Capitalizing the word "Roblox"
	text = text:gsub("ai", "I") -- Replacing "ai" with "I"
	return text
end

function Memeify(text)
	text = text:gsub("hello", "HELLO FELLOW ROBLOXIANS")
	return text
end

print(DevForumify(Memeify("Hello, my name is AI and I love playing ROBLOX!")))
3 Likes

JustBaseplate.rbxl (45.5 KB)

This place creates a cube gui. Press P to open it. Press up arrow and down arrow to scroll through guis.

2 Likes

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.