Rotatable models in images?

I have been wondering how people do this. If it’s view port frames, how do I get a perfect camera angle? All help is appreciated, thank you!


I don’t have much experience with this field; but I do believe it uses Coordination Frame (CFrame).

But… how do you display the models onto the images if you only use cframes?

As said before, I don’t have much experience with this. But it is possible. Try searching the internet for examples or scripts.

here use this script I made it work good and left comments should work if you follow steps

Local script:

–not my script but edited be me
–put code in a local script then put local script as a child of your viewportframe

local ViewportCamera =“Camera”,script)
ViewportCamera.CameraType = Enum.CameraType.Scriptable

local YInt = 10
local XInt = 3 – how far away the camera is from the object change to a larger number if you have a large object

local R = 0

local Item = script.Parent:WaitForChild(“part3”)–your part that is a child of viewportframe

local ViewportPoint =,0,0)

local ViewportFrame = script.Parent

ViewportFrame.LightDirection =,1,0)

ViewportFrame.Ambient = Color3.fromRGB(255,255,255)

ViewportFrame.CurrentCamera = ViewportCamera

Item.PrimaryPart = Item:FindFirstChild(“Part1”) – make sure you have a part the model your using named Part1 for the PrimaryPart and then it should work!


local cframe, size = Item:GetBoundingBox()

local max = math.max(size.X,size.Y,size.Z)

local distance = (max/math.tan(math.rad(ViewportCamera.FieldOfView))) * XInt

local CurrentDistance = (max/2) + distance

ViewportCamera.CFrame = CFrame.Angles(0,math.rad(R),0) * +,0,CurrentDistance),ViewportPoint)

R = R + 1


This should help:

1 Like