How to Make Ramps: Difference between revisions

From Legacy Roblox Wiki
Jump to navigationJump to search
>Mindraker
(→‎Using a Hinge: rewording)
m (Text replacement - "<SyntaxHighlight code="lua">" to "<syntaxhighlight lang="lua">")
 
(44 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. <br>
* In [[Roblox Studio|Roblox studio]], click Workspace.
Up on the toolbar click on the little icon for Hinges. This lets you click anywhere and make a hinge on that surface.<br>
* Click Insert > Object > Part
Click on the '''side''' (not the top) of your brick, and there will now be a small yellow peg sticking out of that side of your 1x1x1 brick.<br>
* [[Resize]] the newly brick so that it is one unit wide, one unit long, and as tall as you want.
Put the hinge aside for the moment.<br>
* 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.


Create a NEW brick, which will look like a wall.<br>
[[Image:Ramp.JPG]]
Stretch that wall brick 10 units high.<br>
 
Stick the hinge "into" the wall brick.  The hinge is going to be the "support" for the ramp.  The higher the hinge is in the wall, the greater the angle of the ramp will be.<br>
 
Create a NEW brick, which will look like a long, flat, thin rectangle.  This will be the ramp.  Move one end over the 1x1x1 hinge.  The other end will be sticking out into space.  When you save and play the game online, the hinge will let the other brick swing downward, making a ramp.  When the ramp comes into contact with the hinge, the hinge will realign itself with the angle of the ramp.


==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.


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.
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>


Zuka: Try math.pi, its equal to 180 degrees. Then, try multiplying or dividing it to get different angles.
* 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>.
* 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.


Also, you can use
==Using a WedgePart==
<pre>
 
brick.CFrame=CFrame.new(Vector3.new(0,100,0)) * CFrame.fromAxisAngle(Vector3.new(0,0,1), math.pi/2)
* In [[Studio|Roblox studio]], click Workspace.
</pre>
* Click Insert > Object > 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.
* 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 01: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