Difference between revisions of "Physics Material Settings test"

From Second Life Wiki
Jump to navigation Jump to search
 
(3 intermediate revisions by one other user not shown)
Line 9: Line 9:
== consistency testing ==
== consistency testing ==


* attempt to measure the min and max physical settings for a default box. how?
* attempt to measure the min and max physical settings for a default box. <span style="background:#FFFF33">how?</span>
* Verify you are unable to change the settings to out of bounds values:
* Verify you are unable to change the settings to out of bounds values:
** Gravity [-1, 28]
** Gravity [-1, 28]
Line 22: Line 22:


* Friction == sliding stickiness
* Friction == sliding stickiness
** Make 2 physical boxes, set the gravity of one box to 255.
** Make 2 physical boxes, set the friction of one box to 255.
** Drag each box on the ground with the Drag tool (ctrl-2)
** Drag each box on the ground with the Drag tool (ctrl-2)
** '''Verify''' the box with more friction rolls on the ground while the other tends to slide.
** '''Verify''' the box with more friction rolls on the ground while the other tends to slide.
Line 28: Line 28:
* Density should affect collisions with a denser object being affected less in a collision with a less dense object, all else being equal.
* Density should affect collisions with a denser object being affected less in a collision with a less dense object, all else being equal.
** mass = density * volume. That volume is the true volume of the shape.
** mass = density * volume. That volume is the true volume of the shape.
** Measure the mass with llGetMass? default{touch_start(integer total_number){llSay(0, "mass = "+(string)llGetMass());}}
** Measure the mass of an object by adding this script and touching the object: default{touch_start(integer total_number){llSay(0, "mass = "+(string)llGetMass());}}
** Make 2 physical spheres, set the Density of one box to 22587.
** Double the density of the object.
** Measure the mass again an '''Verify''' it has doubled.
** Make 2 physical spheres, set the Density of one sphere to 22587.
** Make the spheres collide using the Drag tool (ctrl-2)
** Make the spheres collide using the Drag tool (ctrl-2)
** '''Verify''' the sphere with less Density bounces off the sphere with the greater Density.
** '''Verify''' the sphere with less Density bounces off the sphere with the greater Density.
Line 62: Line 64:
*** Restitution  = 0.9
*** Restitution  = 0.9


* Test the Override material option (when that UI is finished)  
* Test the Override material option <span style="background:#FFFF33">(when that UI is finished)</span>


== exploit testing ==
== exploit testing ==
Line 68: Line 70:
* Play with restitution = 0
* Play with restitution = 0
* Can individual prims in a linked set have different Physics settings? Yes.
* Can individual prims in a linked set have different Physics settings? Yes.
* What else?  
* Attempt to cause exploit by dragging a mesh asset onto a mesh object.
* Attempt to cause exploit by dropping an attached mesh on the ground.
* What else?


== griefing concerns ==
== griefing concerns ==


* Any ideas?
* Any ideas?

Latest revision as of 14:09, 29 March 2011


Verify custom Physics Material Settings are disabled in unsupported regions

  • eg. Morris on ADITI (12-08-2010)
  • eg. they all default to 0.000

consistency testing

  • attempt to measure the min and max physical settings for a default box. how?
  • Verify you are unable to change the settings to out of bounds values:
    • Gravity [-1, 28]
    • Friction [0, 255]
    • Density [1 to 22587]
    • Restitution [0, 1]
  • Gravity == how fast it falls/how much downward force is applied to it.
    • Make 2 physical boxes, set the gravity of one box to 10.
    • Drop both boxes at the same time
    • Verify the box with more gravity falls faster.
  • Friction == sliding stickiness
    • Make 2 physical boxes, set the friction of one box to 255.
    • Drag each box on the ground with the Drag tool (ctrl-2)
    • Verify the box with more friction rolls on the ground while the other tends to slide.
  • Density should affect collisions with a denser object being affected less in a collision with a less dense object, all else being equal.
    • mass = density * volume. That volume is the true volume of the shape.
    • Measure the mass of an object by adding this script and touching the object: default{touch_start(integer total_number){llSay(0, "mass = "+(string)llGetMass());}}
    • Double the density of the object.
    • Measure the mass again an Verify it has doubled.
    • Make 2 physical spheres, set the Density of one sphere to 22587.
    • Make the spheres collide using the Drag tool (ctrl-2)
    • Verify the sphere with less Density bounces off the sphere with the greater Density.
  • higher Restitution is bouncier. ...though setting it to 0 is not recommended as you'll likely get penetrations
    • Make a 5x5x0.5m box "platform"
    • Make 2 physical spheres. Set the Restitution of one sphere to 1.0
    • Drop both spheres onto the platform
    • Verify the sphere with higher Restitution bounces higher.
  • Verify the material presets (wood, glass, etc.) load the correct Physics Material Settings
    • Stone
      • Friction = 0.8
      • Restitution = 0.4
    • Metal
      • Friction = 0.3
      • Restitution = 0.4
    • Glass
      • Friction = 0.2
      • Restitution = 0.7
    • Wood
      • Friction = 0.6
      • Restitution = 0.5
    • Flesh
      • Friction = 0.9
      • Restitution = 0.3
    • Plastic
      • Friction = 0.4
      • Restitution = 0.7
    • Rubber
      • Friction = 0.9
      • Restitution = 0.9
  • Test the Override material option (when that UI is finished)

exploit testing

  • Play with restitution = 0
  • Can individual prims in a linked set have different Physics settings? Yes.
  • Attempt to cause exploit by dragging a mesh asset onto a mesh object.
  • Attempt to cause exploit by dropping an attached mesh on the ground.
  • What else?

griefing concerns

  • Any ideas?