JellyM015
(deathera)
December 26, 2024, 9:49pm
#1
I want to make a UI similar to this:
robloxapp-20241226-1510375.wmv (1.3 MB)
I cannot make it though.
Looked for documentation on such UI, but couldn’t find anything matching it.
Doomcolp
(dxxmed)
December 26, 2024, 9:52pm
#2
can you provide a video that isn’t in windows media form? yeah
Doomcolp
(dxxmed)
December 26, 2024, 10:25pm
#4
Alright uhh if it kinda looks like this:
then you can probably use this
my first guide! yay!
so today im gonna teach about creating 3d GUI for your games, what is 3d GUI and why should i use it you may ask
first this is a 3d GUI:
[image]
a 3D Gui isnt really that different from a normal GUI, but it does look better, more “natural” in some way and allows for funkier animations
to make it, you will need some knowledge about these topics, atleast if you do it the same way i did:
CFrame manipulation
Loops and IPairs
first things first, lets create: The frame!
t…
JellyM015
(deathera)
December 27, 2024, 12:00am
#5
its not hard to download and watch a video instead of guessing but uh
just join the game to see
1 Like
Doomcolp
(dxxmed)
December 27, 2024, 2:33am
#6
ok from what I’ve seen, I’d probably say that it is a part w/ a surface GUI in a ViewportFrame.
Then everytime your perspective changes, it also rotates the same amount (you can probably tween or lerp for that smooth effect but preferably lerping)
I’d provide some example myself, but I’m on my phone so it probably won’t work.
However i could just give you this snippet from that post I provided
3.RunServicing
here is the longest step, it requires some math in which im not sure is the most optimal, if it isnt, can someone please correct me?
first, get the camera and its ratios
local camera = workspace.CurrentCamera
local xRatio = camera.ViewportSize.X/camera.ViewportSize.Y
local yRatio = camera.ViewportSize.Y/camera.ViewportSize.X
then, using that, create a new Vector3, multiplying position by the ratio
example:
local offset = Vector3.new(
1.8, --horizontal scale
-5, --how far down or up it is
9 --depth
)
local CalculatedOffset = Vector3.new(
offset.X * xRatio,
offset.Y * yRatio,
-offset.Z
now that you have the Position offset, shall we get the rotation offset?
local rotOffset = Vector3.new(0, -20, 0)
local calculatedRot = CFrame.Angles(math.rad(rotOffset.X), math.rad(rotOffset.Y), math.rad(rotOffset.Z))
done!
now for the last part! the cframe manipulating
just get the cameraCframe, multiply it by the posOffset and the rotOffset and insert it into the frame
local newCframe = camera.CFrame * CFrame.new(CalculatedOffset) * calculatedRot
if frame ~= nil then
frame.CFrame = newCframe
end
SORRY FOR THE LATE RESPONSE!
1 Like
system
(system)
Closed
January 10, 2025, 2:34am
#7
This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.