火曜日, 11月 18, 2008

touchを色々と・・・

Tai子です。

今日は、Touch関連の関数を触っていたので個人的にメモっとく。
いずれも引数に、touch関連イベントの引数を指定する(ほぼ0だと思いつつ、サンプル通りにループを回す)。

llDetectedTouchFace    面の番号を返す、llSetColorとかで使うあれ。
  リンクさせて子プリムタッチしたら子プリムの面を返してくれた。

llDetectedTouchNormal  方向(東西南北上下)をvectorで返す
  リンクさせて子プリムタッチしたら子プリムの方向を返してくれた
  北:0.0, 1.0, 0.0  南:0.0, -1.0, 0.0
  東:1.0, 0.0, 0.0  西:-1.0, 0.0, 0.0
  上:0.0, 0.0, 1.0  下:0.0, 0.0, -1.0

  北西45度:-0.70710, 0.70711, 0.00000
  南東45度:0.70710, -0.70711, 0.00000


llDetectedTouchBinormal  
  北:0.0, 0.0, 1.0 南:0.0, 0.0, 1.0
  東:0.0, 0.0, 1.0 西:0.0, 0.0, 1.0
  上:-1.0, 0.0, 0.0 下:1.0, 0.0, 0.0
  上か下か横んところかが分かるけど、なんだろうか・・・
  従法線(Binormal)って、なんじゃろ。。。 tangent、、、うぅぅぅぅ

llDetectedTouchPos    タッチしたグローバルな位置を返す
  リンクさせて子プリムタッチでもちゃんと返してくれた


llDetectedTouchST     タッチした面内の位置を返す

llDetectedTouchUV    タッチした面に貼り付いてるテクスチャー内の位置
  テクスがぴったりだと、STとUVは一緒になる(当たり前か)。

  テクスをサイズぴったりで少しずらすと、ずれたテクス内の位置を返してくれる。

  テクスをサイズ小さめ&位置はデフォにすると、テクスが真ん中に表示されるので、返ってくるのは真ん中のテクスの左下を0.0, 0.0, 0.0にした相対位置。
  下SSの青い三角んとこが、大体 0.0, 0.0, 0.0。
  繰り返しのテクスのところは、真ん中をベースに位置を測るので、向かって左のテクスはマイナスの値が返ってくる。

2 件のコメント:

maaya yohkoh さんのコメント...

llDetectedTouchSTとllDetectedTouchUVは面白い
ですね。これ組み合わせて色々GUI作れちゃいますね。

Taifrog Moriarty さんのコメント...

maayaさん、そうですね。
プリム置かなくても、ボタンの絵を描くだけでOKになりましたね。