Forum Discussion

🚨 This forum is archived and read-only. To submit a forum post, please visit our new Developer Forum. 🚨
UlteriorMotif's avatar
UlteriorMotif
Honored Guest
13 years ago

Change scale of entire scene?

I've currently got a scene set up that I'm realizing is much too small for Unity's default editing controls (one twitch of the mouse wheel sends me off into space). The scene is a box/building with an assortment of models inside. All were imported from Sketchup as a single .fbx file.

The problem is that I've been working on adding sound, lighting, video textures, etc. Is there any way to scale an entire scene (and all attached assets) up at the same time? Will I need to just scale each object, one at a time? If I scale an object, will associated textures scale with it?

5 Replies

Replies have been turned off for this discussion
  • Method 1
    Try going to the fbx inside Unity and set the import scaling in there.

    Method 2
    Technically you should be able to create an empty object in the middle of your scene. Put all scene objects inside of that, scale that no-longer-empty-object. Then remove the objects from that object and delete that object. You'd also have to fix your prefabs.
  • "Prelucid" wrote:

    Method 2
    Technically you should be able to create an empty object in the middle of your scene. Put all scene objects inside of that, scale that no-longer-empty-object. Then remove the objects from that object and delete that object. You'd also have to fix your prefabs.



    Yes, what Prelucid said.. Make everything the child of an empty game object- scale-, then unparent everything if you wish.

    It's good to build a 1:1 scale reference file to work with in your 3d-packages.. Mine is a garage with a woman, a car, and a spaceship in it.. If whatever I'm working on looks good in there, then I'm promised perfect scaling upon integration.
  • I've noticed during VR Jam that certain things like animation (particularly root motion) and how far objects travel based on baked animations doesn't scale with the size of the object, so I suggested method 1 first because they said the whole scene itself was imported as 1 single fbx. Though method 0 should be to export at the right size in the first place.
  • Thanks for the tips guys. I'm an absolute newbie and sometimes its difficult to tell where a problem lies (camera speed problem or model scale problem, for instance).

    When I sat down to try this out I noticed that my friend had already just reimported the scene and changed the scale some.

    I'm curious though; what would your starting dimensions be (unity units) if you were to make a standard sized living room in Unity?
  • ChrisJD's avatar
    ChrisJD
    Honored Guest
    "UlteriorMotif" wrote:
    I'm curious though; what would your starting dimensions be (unity units) if you were to make a standard sized living room in Unity?


    1 Unity unit = 1m

    The scale to use in your graphics application to get that result without having to do any extra scaling in Unity is dependant on the application. You should be able to find something with a quick google that will tell you the set up for your application to achieve that. (Edit: For example; Scaling in Sketchup to get proper scale in Unity sketchup on the Unify wiki, (I haven't tested if this is accurate))

    Then when importing make sure the scale in the importer is 1.

    For scaling the advise from the Unity docs is to get it correct in the modelling application if at all possible. From the section "The Importance of Scale" in the Transform docs.

    Ideally, you should not adjust the Scale of your object in the Transform Component. The best option is to create your models at real-life scale so you won't have to change your Transform's scale. The next best option is to adjust the scale at which your mesh is imported in the Import Settings for your individual mesh. Certain optimizations occur based on the import size, and instantiating an object that has an adjusted scale value can decrease performance.