Coderblock Docs ENG
  • Onboarding
    • Welcome to Coderblock Studio!
    • Coderblock World
    • Support
    • Italian Doc Guide
  • CODERBLOCK STUDIO
    • Coderblock Studio
    • Subscription plans
      • Plans for companies
        • Plus
        • Premium
        • Custom
      • Plans for Creators
        • Free
        • Plus
        • LAND
    • Payment Methods
    • Builder Tool
      • Building with the Builder Tool
      • How to: create a new scene
      • How to: manage my scene
      • 3D model library
      • Upload your own 3D models
      • Objects features
      • NPC and conversations
      • Quests: what they are and how to create them
      • OpenAI - COMING SOON
      • Rights on my creations
    • Virtual environment management
      • Live streaming in my environments
      • Users in my scene (CCU)
      • Users interactions
      • Website integration
      • Video call integration
    • Builder Tool - Advanced guide
      • Working environment
        • Scene management
          • Finalization Tools
        • View and movements
        • Design Tools
          • Control panel
          • Gizmo and assets manipulation
            • Position
              • Movement on the orthogonal plane
            • Rotation
            • Scaling
            • Universal tool
            • Copy/Paste
          • Asset packs
            • Interactive elements
            • Graphic components
            • Uploading custom objects
          • Scene monitoring
    • ➡️BUSINESS
      • Start
        • Plans in detail
          • Plus
          • Premium
          • Custom
        • Spaces, Lands e Digital twin
          • Spaces
          • Land
          • Digital Twin
        • Getting started with Coderblock
          • Login/Sign up
        • Virtual scene management
      • Create
        • Builder Tool
        • Virtual experiences
          • Offices
          • Events
          • HR and Recruitment
          • Training
          • E-commerce
        • Workspaces inside the virtual world and case studies
          • Flagship Station by Q8
          • LE VILLAGE by Crédit Agricole Triveneto
          • SAVE THE CHILDREN - #bambinisottoattacco
          • SACE JOB FAIR by Sace Group
      • Sharing
        • How to: publish a scene
        • How to: sharing a scene - COMING SOON
        • Creator profile page - COMING SOON
        • Coderblock Hub - COMING SOON
          • Marketplace
          • Experiences
      • Business opportunities
        • Goals
          • Awareness
          • Lead generation
          • Sales
          • Networking
          • Workflows optimization
        • Analytics Dashboard - COMING SOON
    • ➡️CREATORS
      • Start
        • Plans in detail
          • Free
          • Plus
          • Land
        • Spaces and lands
        • Acess to Coderblock Studio
          • Login/Sign up
        • Virtual Scene Management
      • Create
        • Builder Tool
        • Virtual experiences
        • Landowners creations
      • Share
        • How to: publish a scene
        • How to: share a scene - COMING SOON
        • Creator profile page - COMING SOON
        • Coderblock Hub - COMING SOON
          • Marketplace
          • Experiences
        • Analytics Dashboard - COMING SOON
      • Monetize
        • Earn from your creations
        • Sell your own creations
          • Pricing
          • Fee
          • Content Rules
        • Business opportunities
  • CODERBLOCK WORLD
    • Coderblock World
    • Platform access
      • Login/signup
      • Data recovery
      • Open World & Spaces
    • User Experiences
      • Photorealistic avatar: Coderblock Studio x Ready Player Me
      • How to: create and customize your avatar
      • First steps
      • Interactions
      • Menu
    • Privacy Policy e guide lines
      • Privacy Policy
      • Customer Relationship Philosophy
      • User Behavior
  • CODERBLOCK LANDS
    • Open World
    • Lands
    • Landowners: main benefits
    • How to: get your lands
    • Visit Land with direct link
    • Landowner onboarding
      • Associate your lands to your wallet
        • Download the browser
        • Install Metamask
        • Access to Metamask
        • Create your wallet
        • Import your wallet
        • Confirm wallet creation
        • First setup
        • Switch to Polygon
        • PolygonScan
        • Import your lands
      • Manage your lands in Coderblock Studio
        • Your properties
        • Land editor
        • Builder Tool
        • Troubleshooting
  • F.A.Q.
    • Frequently Asked Questions
    • Coderblock Studio
      • Business
      • Creator
    • Coderblock World
    • Coderblock Lands
Powered by GitBook
On this page
  1. CODERBLOCK STUDIO
  2. Builder Tool - Advanced guide
  3. Working environment
  4. Design Tools
  5. Gizmo and assets manipulation

Scaling

PreviousRotationNextUniversal tool

Last updated 10 months ago

The scaling tool allows you to scale objects according to the principles of enlargement or reduction.

Selezionando l'oggetto, è possibile attivare questo strumento attraverso il terzo pulsante dall'alto o tramite il tasto R della tastiera.By selecting the object, you can activate this tool by pressing the third button from the top or the R key on the keyboard.

You will immediately notice the disappearance of the gizmo, which will give way to a small cube placed at the pivot. Like the other instruments, its position will be critical in determining the source of accretion or reduction.

In other words, if the pivot is at the center of gravity of the object, it will either grow or shrink around it, but if it is outside, or unbalanced, so will the relative scaled distances.

The object of our demonstration, the yellow cube, has the pivot placed at the center of the face that serves as the base. This particular configuration comes in handy; in fact, as we place the cube on our work surface, it will grow or shrink while always keeping the base adjacent to the surface, giving us the ability to measure even visually the outcome of the scaling we are going to apply.

Once the tool is activated, all you have to do is move the mouse over the small cube that acts as a gizmo. As you can see, it is neutral gray and does not have the colors previously assigned to the axes, since this scaling will involve the three dimensions together. By interacting with it with the mouse pointer, it will turn yellow. By clicking and dragging, we will be able to scale the object at will.

The information panel at the top dynamically reports the scaling as usual, while the small input form, this time only one, allows us to enter custom values.

The mathematics of Scaling

Scaling an object means being able to increase or decrease its size by multiplying the individual dimensions of the object.

The number associated with scaling is a coefficient, which is a dimensionless value, a multiplier, with no unit of measurement.

The default initial coefficient is 1.

This reference, the coefficient that we use to perform the dimensioning edit, does not involve volumetric values, but linear ones, i.e. if we set a scaling coefficient to 2, it would mean that we would not be doubling the object itself (and thus its volume), but the individual dimensions that make it up, by the values of x, y and z.

The increment or decrement we measure is also in steps of 1/4 relative to the initial coefficient, and will remain so each time we continue scaling without leaving the mouse click.

In the case of an incremental motion, we will not encounter any limitations in scaling with the mouse, so it will be possible to easily go from coefficient 1 to larger values, proceeding by steps in a single movement.

In the case of a reducing motion, however, we will encounter a first mathematical limitation: the coefficient cannot be 0. Assuming a reduction starting from the default coefficient, we will in fact encounter this progression: 1 -> 0,75 -> 0,5 -> 0,25 -> 0

Therefore, the limit of decremental steps is set to three at a time. The fourth step will then bring the coefficient back to the unit value. To obtain further reductions, it will be necessary to leave the click at an intermediate coefficient of the three allowed steps (also depending on our reduction goals) and click again to further reduce.

So, working in increments and knowing that they correspond to 1/4, if we wanted to double the size of the object (scale: 2), starting from the default state (scale: 1), we would have to click on the cubic gizmo and drag the mouse to the desired value.

If the increment is 1/4, it will take 4 increments, or 4 steps, to reach our goal. We will then see the value of the coefficient progress in this way: 1 -> (step 1) 1,25 -> (step 2) 1,5 -> (step 3) 1,75 -> (step 4) 2

Formula to determine the final coefficient

The following formula, where "ci" is the initial coefficient and "s" is the number of steps, will give us the final value of the scaling coefficient "cf":

cF=cI(1±s/4)cF= cI ( 1 ± s/4)cF=cI(1±s/4)

In applying the formula, we will use addition to increase the scaling and subtraction to decrease it.

After what has been said, let us see the doubling of our reference cube. We will do this by selecting it and entering the value directly in the input form.

As already mentioned, the resulting cube will not be twice as large as the original (volumetrically it is 8 times as large), but its linear dimensions will be. In fact, we can easily verify through the grid that the initial dimension of each side is 2m, while in its final form it is 4m, twice as large.

If we want to do the opposite, that is, to halve the size of the cube, we will set a coefficient of 0.5, directly in the input.

Again, the size of the cube at the volumetric level does not correspond to half (it is actually 1/4 of the original volume), but its dimensions are correctly as expected: those of a cube of 1m on each side.

Limits

If we did not take into account the size of the space in which we were operating, we would have a virtually infinitely large space, but not an infinitely small one.

In both cases, it will be the initial size of an object that will determine the yield of a very large enlargement or extreme reduction.

If we want to enlarge an object, it will be necessary to evaluate the effectiveness of a magnification according to one's aesthetic canons and in the overall view. The scalability of a three-dimensional object is in fact unlimited, given its vector geometric nature, but the possible presence of a decorative texture inside it, whether integrated in the object itself or the result of a customization (if any), will highlight the raster artifacts resulting from possible compressions and interpolations of the JPG or PNG images used.

Considering instead the assumption of a reduction, the scale is limited to a final coefficient of 0,01. This is where the initial size, i.e. its default size when the object is inserted into the environment, really matters. A cube with a native size of one meter on each side can be scaled down to one centimeter, while a 40m long building can be scaled down to a maximum of 40 cm.

Resetting the initial coefficient.

Why is it important not to leave the mouse click?

Continuing with the previous example, let us assume that we have increased the coefficient to 1.75, and that we have intentionally or unintentionally released the mouse click. The new initial value will be 1,75. Obviously, if we wanted to double it, we should be able to get a coefficient of 3,5. Applying the formula mentioned above, here is what we would get if we proceeded in this direction:

1,75 -> 2,19 -> 2,62 -> 3,06 -> 3,5

The new progression does not pick up where it left off, but starts over, resetting the initial coefficient.

There is a trick to enlarge objects by increasing the coefficient by one unit at a time, without going through the 1/4 steps.

To achieve this effect, which is not essential but sometimes useful, simply reduce the object till the 4th step, which will bring the coefficient back to 1, and then extend the movement without releasing the mouse click. We will get the following sequence:

1 -> 0,75 -> 0,5 -> 0,25 -> 1 -> 2 -> 3 -> 4 -> 5 -> etc.

Because even if we have not confirmed the scaling with the button in the control panel , by changing its value we have set a new initial coefficient. If we then click the gizmo again, the 1/4 increase or decrease will not refer to the default value, but to the newly set value.