@rbxts/scale-model v2.0.6
@rbxts/scale-model
Scale/resize Models and Parts and all Descendants
Version 2.0 adds non-uniform scaling by number, Vector2, or Vector3
Currently scaling the following types and properties:
- Model (Size, Position)
- BasePart (Size, Position)
- Attachment (Position) (and thus connected Constraints, e.g. Welds and Joints)
- SpecialMesh (Scale)
- Fire (Size)
- Texture (U/V)
- ParticleEmitter (Size: NumberSequence)
- Explosion (Position, BlastPressure, BlastRadius)
- PointLight (Range)
- Vector3 (Scale, Scale about Point)
- Tool (All Descendants, using Handle as reference)
- Joint (Thanks to @RRainmaker)
- Instances (generic catch-all for e.g. a Folder)
Usage
- Install npm package
npm i @rbxts/scale-model
- Import
scaleModel
,scalePart
,scaleExplosion
,scaleTool
, orscaleInstances
import { scaleModel, scalePart, scaleExplosion, scaleTool, scaleInstances } from '@rbxts/scale-model';
- Pass a Model, Part, Explosion, Tool, or array of Instances with a scale factor. Scale factor > 1 is bigger, < 1 is smaller
scaleModel(myModel, 1.5); // All descendants of myModel to 150% size
scalePart(myPart, new Vector3(0.5, 2, 0.5); // myPart and all descendants to 50% size on XZ and 200% size on Y (tall + skinny)
scaleExplosion(myExplosion, 10); // myExplosion to 1000% size
scaleTool(myTool, 0.8); // myTool to 80% size
scaleInstances(myFolder, 0.5, new Vector3(0,0,0)); // all instances in myFolder to 50% size
We need this special api for scaleExplosion
since we need to scale it before it is parented.
Custom Scaling Center
You can optionally provide a custom center point in the 3rd parameter, instead of using the Model's PrimaryPart's Position, or the Part's Position.
The scaling of a Model can fail if attempted on a Model that doesn't have a PrimaryPart defined, and no custom center is provided. In that case, a message will be printed in the output.
The scaling of a Tool can fail if attempted on a Tool that doesn't have a Handle defined, and no custom center is provided. In that case, a message will be printed in the output.
Did I miss your favorite Descendant?
Pull Requests are welcome if there's something I missed. Or, open an Issue.
Command-line usage
The compiled modulescript is available in the Roblox Library with asset id 8238368335 Open the Command Bar in Roblox studio and require the modulescript to use it
require(8238368335).scaleModel(game.Workspace.TestModel, 4, Enum.NormalId.Bottom)
Roblox-TS
Part of the ever-growing Roblox-TS community.
Roblox
Friend me on Roblox, my Avatar is FirstVertex.
:v:
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago