はじめに esprog.hatenablog.com 上記の記事で行っているように、動的にUVを算出してその部分にエフェクトを掛ける場合などでは あるワールド座標上の点pがシーン内に配置されたモデルの表面上の点であるかどうか調べる モデル表面上の点である場合は、$p$のUVを計算する といった処理が必要になります。 Unityの場合Physics.*cast系メソッドの出力用パラメータにRaycastHit構造体を渡すことでTextureCoordを得ることが出来ます。 このTextureCoordの算出はCalculateRaycastTexCoordという関数呼び出しによって実現されているようですが、INTERNAL_CALLとなっていて詳細までは見ることが出来ませんでした。 3Dテクスチャペイントを行ったりするのに必要な知識だと思い、後学のために自作してみましたよというのが今回のエン
![任意の点がモデル表面上に存在する場合にその位置のUVを算出する - しゅみぷろ](https://cdn-ak-scissors.b.st-hatena.com/image/square/c5bc24ffac72536d41d59328a9f045b2ee512b02/height=288;version=1;width=512/http%3A%2F%2Fcdn-ak.f.st-hatena.com%2Fimages%2Ffotolife%2Fe%2Fes_program%2F20160508%2F20160508162800.png)