How to Make Ramps: Difference between revisions

From Legacy Roblox Wiki
Jump to navigationJump to search
>Mindraker
m TOC
m Text replacement - "<SyntaxHighlight code="lua">" to "<syntaxhighlight lang="lua">"
 
(46 intermediate revisions by 13 users not shown)
Line 1: Line 1:
{{CatUp|Tutorials}}
{{CatUp|Tutorials}}
{{LowQualityMedia|reason=The hinge method should be reproduced (in 2008) to get a better screenshot of the end result.}}
{{LacksMedia|reason=The Hinge method is a very dense bullet list, there should be more images along the way.}}
__TOC__
__TOC__
== Introduction ==
== Introduction ==
There are two ways you can make ramps. You can either use a Hinge or a CFrame to edit rotation.
There are three ways you can make ramps. You can either use a Hinge or a CFrame to edit rotation, or you can simply insert a WedgePart
<!-----------------------------------------------------------------------------------
<!-----------------------------------------------------------------------------------
  If you're editing this to post about the Wedge, you'd better not waste your time. A Wedge is NOT a ramp, it's still a square brick. These are ramps that make real ramps, a wedge does not do that. I've already warned that the next one to post about a wedge gets a ban. So don't do it. -------------------------------------------------------------------------------->
  If you're editing this to post about the Wedge, you'd better not waste your time. A Wedge is NOT a ramp, it's still a square brick. These are ramps that make real ramps, a wedge does not do that. I've already warned that the next one to post about a wedge gets a ban. So don't do it. -------------------------------------------------------------------------------->
Line 8: Line 10:
==Using a Hinge==
==Using a Hinge==


Make one small square brick 1x1x1 size. Up on the toolbar click on the little icon for Hinges. This lets you click anywhere and make a hinge on that surface. Click on the side of your brick, and there will then be a small yellow peg sticking out of that side.  
* In [[Roblox Studio|Roblox studio]], click Workspace.
* Click Insert > Object > Part
* [[Resize]] the newly brick so that it is one unit wide, one unit long, and as tall as you want.
* Click the [[Weld]] option in your [[Toolbar]] (it has an X in a square).
* Click ONE side of your tall brick with the weld option.
* Click Workspace.
* Click Insert > Object > Part
* [[Resize]] this newly created brick so it is one unit wide, one unit long, and one unit tall.
* Click the [[Weld]] option in your [[Toolbar]].
* Click the side of this brick that is facing the welded side of the TALL brick with the weld option.  You should have two welded faces facing each other.
* Select the [[Drag]] option in your [[Toolbar]].
* Place the small brick near the top of the tall tower.
* Select the [[Hinge]] option on your [[Toolbar]]
* Click the small brick.  A yellow dot should be protruding from it.
* Click Workspace.
* Click Insert > Object > Part
* [[Resize]] this newly created brick to a long, flat, rectangle.
* [[Drag]] this newly created rectangle so that you can't see the yellow dot.
* Test your game.  If you did this correctly, your bar should fall downwards.


That is a hinge. All you have to do is make sure another brick is right on the peg and it will make a hinge. Anchor that brick you just made, move it up a few studs and make a new brick touching the hinge. The two bricks should sit right next to each other so that you can't see the hinge anymore.  When you save and play the game online, the hinge will let the other brick swing downward, making a ramp.
[[Image:Ramp.JPG]]


==Using a CFrame==
==Using a CFrame==


Make a brick, anchor it and name it "slope". Then open the Command Line and type this in:
Make a brick, anchor it and name it "slope". Then open the [[Scripting#Fundamentals|Command Bar]] and type this in:


<pre>
<syntaxhighlight lang="lua">
game.Workspace.slope.CFrame=CFrame.fromEulerAnglesXYZ(0,0,0)
s = game.Workspace.slope; s.CFrame = CFrame.Angles(0,0,0) + s.CFrame.p
</pre>
</syntaxhighlight>


Change the "(0,0,0)" to how many [http://en.wikipedia.org/wiki/Radian radians] (not degrees) you want it to rotate.  Instead of using [http://en.wikipedia.org/wiki/Degree_%28angle%29 degrees], they use radians, which are a different way of saying how big an angle is.  You can use numbers between 1 and 0, which will work fine.
Change the "(0,0,0)" to how many [http://en.wikipedia.org/wiki/Radian radians] (not degrees) you want it to rotate.  Instead of using [http://en.wikipedia.org/wiki/Degree_%28angle%29 degrees], they use radians, which are a different way of saying how big an angle is.


Play around with it, you can put the new number in either one of the three zeroes in the line, like this:
Play around with it, you can put the new number in either one of the three zeroes in the line, like this:


<pre>
<syntaxhighlight lang="lua">
game.Workspace.slope.CFrame=CFrame.fromEulerAnglesXYZ(0.5,0.9,0.3)
s = game.Workspace.slope; s.CFrame = CFrame.Angles(math.rad(30), math.rad(45), 0) + s.CFrame.p
</pre>
</syntaxhighlight>


Which will make it rotate in all kinds of directions.  You can also press enter a couple of times and it will make the brick rotate again, so you can rotate it farther.
Which will make it rotate in all kinds of directions.


Zuka: Try math.pi, its equal to 180 degrees. Then, try multiplying or dividing it to get different angles.
Also, you can use
<syntaxhighlight lang="lua">
s = game.Workspace.slope; s.CFrame = CFrame.fromAxisAngle(Vector3.new(0,0,1), math.pi/2) + s.CFrame.p
</syntaxhighlight>


Also, you can use
* Change the <syntaxhighlight lang="lua">Vector3.new(0,0,1)</syntaxhighlight> to the line to rotate around. For example, if you want to rotate the brick around the z axis, use <syntaxhighlight lang="lua">Vector3.new(0,0,1)</syntaxhighlight>.  If you want to rotate the brick around the y axis, use <syntaxhighlight lang="lua">Vector3.new(0,1,0)</syntaxhighlight>.  If you want to rotate the brick around the x = z line, use <syntaxhighlight lang="lua">Vector3.new(1,0,1)</syntaxhighlight>.
<pre>
* Lastly, change math.pi/2 to the value in radians you wish to angle the brick by. This can be a constant, a variable, up to you.
brick.CFrame=CFrame.new(Vector3.new(0,100,0)) * CFrame.fromAxisAngle(Vector3.new(0,0,1), math.pi/2)
 
</pre>
==Using a WedgePart==
Change the 1st Vector3.new() to change the position of the brick, and the 2nd one: change which one(s) are 1 rather than 0. Make sure that at least one of the values are non-zero. Change the 2nd value to the radians you wish to angle the brick by.
 
* In [[Studio|Roblox studio]], click Workspace.
* Click Insert > Object > WedgePart
* It's as simple as that.  You now have a WedgePart that acts like a ramp.
[[Image:WedgePart.jpg]]


== See Also ==
== See Also ==


[[Radians]]
[[Radians]]
[[Function Dump/Mathematical Functions]]


[[Category:Building Tutorials]]
[[Category:Building Tutorials]]
[[Category:Scripting Tutorials]]
[[Category:Scripting Tutorials]]

Latest revision as of 05:10, 27 April 2023

Template:LowQualityMedia Template:LacksMedia

Introduction

There are three ways you can make ramps. You can either use a Hinge or a CFrame to edit rotation, or you can simply insert a WedgePart

Using a Hinge

  • In Roblox studio, click Workspace.
  • Click Insert > Object > Part
  • Resize the newly brick so that it is one unit wide, one unit long, and as tall as you want.
  • Click the Weld option in your Toolbar (it has an X in a square).
  • Click ONE side of your tall brick with the weld option.
  • Click Workspace.
  • Click Insert > Object > Part
  • Resize this newly created brick so it is one unit wide, one unit long, and one unit tall.
  • Click the Weld option in your Toolbar.
  • Click the side of this brick that is facing the welded side of the TALL brick with the weld option. You should have two welded faces facing each other.
  • Select the Drag option in your Toolbar.
  • Place the small brick near the top of the tall tower.
  • Select the Hinge option on your Toolbar
  • Click the small brick. A yellow dot should be protruding from it.
  • Click Workspace.
  • Click Insert > Object > Part
  • Resize this newly created brick to a long, flat, rectangle.
  • Drag this newly created rectangle so that you can't see the yellow dot.
  • Test your game. If you did this correctly, your bar should fall downwards.

Using a CFrame

Make a brick, anchor it and name it "slope". Then open the Command Bar and type this in:

s = game.Workspace.slope; s.CFrame = CFrame.Angles(0,0,0) + s.CFrame.p

Change the "(0,0,0)" to how many radians (not degrees) you want it to rotate. Instead of using degrees, they use radians, which are a different way of saying how big an angle is.

Play around with it, you can put the new number in either one of the three zeroes in the line, like this:

s = game.Workspace.slope; s.CFrame = CFrame.Angles(math.rad(30), math.rad(45), 0) + s.CFrame.p

Which will make it rotate in all kinds of directions.

Also, you can use

s = game.Workspace.slope; s.CFrame = CFrame.fromAxisAngle(Vector3.new(0,0,1), math.pi/2) + s.CFrame.p
  • Change the
    Vector3.new(0,0,1)
    
    to the line to rotate around. For example, if you want to rotate the brick around the z axis, use
    Vector3.new(0,0,1)
    
    . If you want to rotate the brick around the y axis, use
    Vector3.new(0,1,0)
    
    . If you want to rotate the brick around the x = z line, use
    Vector3.new(1,0,1)
    
    .
  • Lastly, change math.pi/2 to the value in radians you wish to angle the brick by. This can be a constant, a variable, up to you.

Using a WedgePart

  • In Roblox studio, click Workspace.
  • Click Insert > Object > WedgePart
  • It's as simple as that. You now have a WedgePart that acts like a ramp.

See Also

Radians

Function Dump/Mathematical Functions