LlSetPhysicsMaterial/ja

From Second Life Wiki
Jump to navigation Jump to search

要約

関数: llSetPhysicsMaterial( integer mask, float gravity_multiplier, float restitution, float friction, float density );

オブジェクトの物理的な特性を設定するために使用されます。

• integer mask DENSITYFRICTIONRESTITUTION、およびGRAVITY_MULTIPLIERの論理和で、実際に適用する浮動小数点数を指定
• float gravity_multiplier 範囲[-1.0, +28.0]、デフォルト: 1.0
• float restitution 範囲[0.0, 1.0]、デフォルト: [0.3, 0.9] [1]
• float friction 範囲[0.0, 255.0]、デフォルト: [0.2, 0.9][1]
• float density 範囲[1.0, 22587.0] kg/m^3、デフォルト: 1000.0

frictionおよびrestitutionのデフォルト値は材料の種類に依存します。

mask フラグ V 説明
DENSITY 1 densityパラメータが有効で、前の値を上書きします。
FRICTION 2 frictionパラメータが有効で、前の値を上書きします。
RESTITUTION 4 restitutionパラメータが有効で、前の値を上書きします。
GRAVITY_MULTIPLIER 8 gravity_multiplierパラメータが有効で、前の値を上書きします。

警告

  • restitutionが1.0の場合でも、物理エンジンの減衰のため、2つのオブジェクト間の衝突は完全に弾力的にはなりません。
  • PRIM_MATERIALを使用して材料タイプを設定すると、frictionおよびrestitutionの値がその材料のデフォルトにリセットされます。
  • アタッチメントから呼び出された場合、llSetPhysicsMaterialは無音で失敗します。

サンプル

  • Basic Example
     llSetPhysicsMaterial(FRICTION, 1.0,0.9,0.1,0.5); // Sets FRICTION to 0.1
  • Multiple Settings
     llSetPhysicsMaterial(GRAVITY_MULTIPLIER | RESTITUTION | FRICTION | DENSITY, 0.5,0.9,0.1,1.0);

関連項目

定数

•  PRIM_MATERIAL

関数

•  llGetPhysicsMaterial
•  llSetBuoyancy オブジェクトと重力の相互作用を設定します。アタッチメントでも機能します(変更はアバターに適用されます).

特記事項

マテリアルのデフォルト値

PRIM_MATERIALを使用すると、摩擦と反発の値がその材料タイプにリストされている値に変更されます。

素材 フラグ 説明 摩擦 反発
PRIM_MATERIAL_STONE 0 石材 0.8 0.4
PRIM_MATERIAL_METAL 1 金属 0.3 0.4
PRIM_MATERIAL_GLASS 2 ガラス 0.2 0.7
PRIM_MATERIAL_WOOD 3 木材 0.6 0.5
PRIM_MATERIAL_FLESH 4 0.9 0.3
PRIM_MATERIAL_PLASTIC 5 プラスチック 0.4 0.7
PRIM_MATERIAL_RUBBER 6 ゴム 0.9 0.9
PRIM_MATERIAL_LIGHT 7 光, 非推奨: [ PRIM_FULLBRIGHT, ALL_SIDES, TRUE ] と同じように見えます 0.6 0.5

llSetPhysicsMaterialはこれらのフラグを使用できません。

経緯

Date of Release 23/09/2011

Search JIRA for related Issues

テスト

•  Physics Material Settings test

脚注

  1. ^ プリムの材料によって摩擦と反発のデフォルト値が異なります。
  2. ^ 記事中の範囲は、 実数空間 に記載されているものです。

Signature

function void llSetPhysicsMaterial( integer mask, float gravity_multiplier, float restitution, float friction, float density );
integer DENSITY = 1;//範囲1.0から22587.0(kg/m^3単位)、デフォルト: 1000.0
integer FRICTION = 2;//範囲0.0から255.0、デフォルトの値は0.2から0.9の範囲にあります
integer RESTITUTION = 4;//範囲0.0から1.0、デフォルトの値は0.3から0.9の範囲にあります(注意: restitutionが1.0の場合でも、物理エンジンの減衰により完全に弾力的にはなりません)
integer GRAVITY_MULTIPLIER = 8;//範囲-1.0から+28.0、デフォルト: 1.0
この翻訳は 原文 と比べて古いですか?間違いがありますか?読みにくいですか?みんなで 修正 していきましょう! (手順はこちら)
この項目はあなたにとって参考にならない項目ですか?もしかしたらLSL Wikiの関連した項目が参考になるかもしれません。