Runtime Transform Gizmos (Move, Rotate, Scale, Universal, Scene Gizmo, Navigation Camera)

Hi everyone,

This is the official support forum for Runtime Transform Gizmos. This is a scripting API which allows you to use transform gizmos at runtime (i.e. build, in-game). Super handy if you need to build editor applications, modding tools or simply games that allow the player to move/rotate/scale objects in the scene.

Here is a quick overview of the pack:

The entire list of video tutorials can be found here.

Don’t forget to check out the API Docs.

If you need collider and light gizmos, then you might also want to take a look at this plugin: Runtime Collider & Light Gizmos.

Enjoy!

1 Like

Can you use moving, rotating and scaling with collision control?

Hi there,

Collision control is not implemented and to be honest with you, I have no idea what that means in this context. Can you please detail?

Thanks,
Andrew

Any plans to make this work for GameObject Transforms? Your tutorials all focus on shapes and simple objects but I would like to use this for posing characters in VR.

I’m afraid I don’t understand :slight_smile: The gizmos already work with GameObject transforms. That is the main purpose of the pack. You can if you want take it a bit further and use the gizmos to transform any entities that you wish by listening to drag events but Game Object transform is supported out of the box.

VR is more of an input problem and there are currently no plans for VR.

EDIT: To be clear: you can pose characters using the pack, but not in VR because VR is not supported.

Hello, i’m creating a custom editor for my app and I have your plugin, it works fine.

What I want to do is use your gizmos through a virtual camera, using a render texture from UI canvas.

I want to have tabs for scenes and I’m not able to record events for your gizmos. I already have a setup using a custom raycast to my render texture and it works fine, i can interact with my scene using the virtual camera, but not with your gizmos.

How can i achieve that?

I changed the Method from your class MouseInputDevice to use my custom raycast, also not working

public override Ray GetRay(Camera camera = null)
    {
        return CameraManager.instance.VirtualRaycast();
    }

my code for raycasting at the render texture is the following:

public Vector2 VirtualCameraPoint()
    {
        Vector2 localpoint;

        RectTransformUtility.ScreenPointToLocalPointInRectangle(
            virtualCamera, //rect transform of the UI rendertexture
            Input.mousePosition,
            null,
            out localpoint
        );

        return localpoint;
    }

    //raycast through scene camera using render texture
    public Ray VirtualRaycast()
    {
        //scene camera is a camera with render texture of the active scene
        return sceneCamera.ScreenPointToRay(VirtualCameraPoint());
    }

Also, I already have cameras, inputs, grid and etc made by me. Is that a way to not use your plugin without needing to use your RTGApp, only the Runtime Gizmos (scene, move, rotation, scale)?

Hi there,

Rendering to a UI texture on a canvas is not possible. I have received this inquiry once before but I have not been able to make it work. If you need a custom viewport, you can adjust the viewport of the camera accordingly. Just make sure to use the latest version of the pack because it fixes a bug with custom viewports.

You can use your own camera, but input and grid needs to stay there.
In order to use a custom camera, you have to:

  1. select the RTFocusCamera object in the hierarchy view;
  2. in the Inspector, uncheck the Can process input;
  3. drag and drop your camera object in the Target camera field.

Hello, is it posible to hide/lock some of the axis in the rotation Gizmo? (I dont want the user to rotate the X or Z axis)

Hi there,
Yes it is possible, using the following code:
rotationGizmo.LookAndFeel3D.SetAxisVisible(0, false); // 0 - X axis
rotationGizmo.LookAndFeel3D.SetAxisVisible(2, false); // 2 - Z axis

Hi, im testing your Demo, but if feels a little slow when I move the objects… I’m a little worried about the performance of the proyect if I implement this asset.

I find it hard to believe that the demo is slow :slight_smile: What are your system specs?


System Information

Operating System: Windows 10 Pro 64-bit (10.0, Build 17134) (17134.rs4_release.180410-1804)
Language: Spanish (Regional Setting: Spanish)
System Manufacturer:
System Model:
BIOS: BIOS Date: 05/31/12 17:10:26 Ver: 04.06.04 (type: BIOS)
Processor: no disponible
Memory: 8192MB RAM
Available OS Memory: 8162MB RAM
Page File: 12145MB used, 2161MB available
Windows Dir: C:\WINDOWS
DirectX Version: DirectX 12
DX Setup Parameters: Not found
User DPI Setting: 96 DPI (100 percent)
System DPI Setting: 96 DPI (100 percent)
DWM DPI Scaling: Disabled
Miracast: Not Available
Microsoft Graphics Hybrid: Not Supported
DxDiag Version: 10.00.17134.0001 64bit Unicode


Display Devices

Card name: AMD Radeon HD 6450
Manufacturer: Advanced Micro Devices, Inc.
Chip type: AMD Radeon Graphics Processor (0x6779)
DAC type: Internal DAC(400MHz)

Well, I don’t know how it could be slow. There is no reason why it should be slow, especially since it’s a really simple scene. I’m afraid I can not help here. It works really well for me and for other customers.

The slow thig is like an input delay or something like that.
It have some delay between the mouse move and the object following the mouse (in the translate tool)

Ok… I was just afraid about the performance, if another customers don’t have any problem ill buy it

Well, if it’s slow for you, then I am not willing to take any responsibility. It’s better if you search for another pack with a demo that works well for your system :slight_smile:

hi, i would like to use this asset for my mobile apps project… is this support if i build for mobile? thankyou

Hi there,

Mobile is supported only for gizmo interaction. As for the other features, such as camera, object to object snap, surface snap, those do not work on mobile.

ah nice, yes the important is gizmo interaction for my case. so its mean if i need to have my own script to do “such as camera, object to object snap, surface snap,” right?

Yes, so gizmo interaction can be done on mobile, but the other would require that you either change the scripts to adapt them for mobile or implement them from scratch. I think the source code can be changed and adapted for mobile, but in my personal opinion this kind of app is not suitable for mobile. I have no plans to adapt all the scripts for mobile :slight_smile: