ブックマーク / sabro.hatenablog.com (2)

  • 透視投影変換を使ってロックオンできるHUDをつくる - Yes Second Life

    ロックオンできるHUDといっても、よくわからないと思うので、まずは動画をみてください。 赤い箱は土地にRezされたオブジェクトで、青い四角はHUDです。赤い箱にタッチすると箱が自分の現在の位置をシャウトするようになってて、それをHUD側がListenして箱が表示されている座標へ移動するようになってます。3Dシューティングなんかで敵の位置へカーソルが移動してロックオン状態になったりしますが、まさにそんな感じのものをつくりました。 使用している技術は透視投影変換で、これは3D上の世界を2次元の画面へマッピングするための手法です。ただ、これを説明するのは、ものすごく大変というか自分も完全には理解してないので、とりあえず赤い箱の位置を渡せばHUDをロックオンする位置に移動させる関数をいきなりお見せします。 // 引数にターゲットオブジェクトの位置を渡すと、そこにHUDをロックオンさせます lock

    透視投影変換を使ってロックオンできるHUDをつくる - Yes Second Life
    takeshich
    takeshich 2013/12/14
    LSLでのperspective projectionの扱いか。なるほど。勉強になる。
  • LSLスクリプトでJSONを扱う(単要素処理編) - Yes Second Life

    これは、セカンドライフ 技術系 Advent Calendar 2013向けに書かれた記事です。LSLにJSONを扱う関数が追加されたので、今回はそれを紹介します。 JSONとは JSONはJavascriptの記法で書かれたデータなのですが、いろんなプログラミング言語にJSONを扱うためのライブラリがあるので、さまざまなプログラム間でデータをやりとりするときに使われています。 こんなかんじでオブジェクトと配列の組み合わせでJSONは構成されます。 // JSONオブジェクト { "a" : 1, "b" : true } // JSON配列 [ "c", 3, false ] // 組み合わせ [ "c", 3, false, { "a" : 1, "b" : true } ] LSLには「値を1つずつ処理する方法」「JSONをリストに一括で変換する方法」の、2通りのやり方が用意されてい

    LSLスクリプトでJSONを扱う(単要素処理編) - Yes Second Life
    takeshich
    takeshich 2013/12/01
    きっと完走するよね。
  • 1