人気ブログランキング | 話題のタグを見る

Kinect v2とUnity5系のパッケージ互換(※追記あり)

ふと、UnityのCoordinateMapperでカラーデータをデプスに持ってくるのってどうやったんだっけなって思い

GreenScreenとか言う眩しい緑のシーンを引っ張り出した。

・・・が、何かおかしい。

Kinect v2とUnity5系のパッケージ互換(※追記あり)_e0349767_19393770.png

あ~コレあれだ、シェーダのコードにエラーがあったら起こるやつだ、たぶん。

でもHLSLだっけ?そんなのやったことないからよく分かんない。

エラー内容を見てみると
Shader error in "シェーダのパス" : Fragment program 'frag' sampler 'SampleType' has no matchnig texture and will be undefined.

と書いてある。

恐らくUnity5へのメジャーアップデートで色々と変わったんだろう。

取りあえず何かしらUndefinedなんだろうけど。

色々ググってみると解決策発見。








①変数を宣言してるとこ
Texture2D _Maintex;
これを⇒
sampler2D _Maintex;

あと

②BodyIndexの値を見てカラーをセットしてるとこ
o = _MainTex.Sample(SampleType, i.tex);
これを⇒
o = tex2D(_MainTex,i.tex);

に修正

Unityの画面に戻ってみると

Kinect v2とUnity5系のパッケージ互換(※追記あり)_e0349767_19495648.png

はい!いつもの目に悪い緑へ元通り!

ところでエキサイトってSyntaxHighlighterってどうやって使うのかしら。

次回投稿への課題ですな。


※2015.08.11追記
直ったと思ったら直ってませんでした。。。
ColorFrameDataが何故かテクスチャのデータセットでうまくいってないみたいで
真っ黒い人間が表示される状態から改善せず。
まとまった時間がある時にCg/HLSL勉強しなきゃなぁ・・・


by onigirism | 2015-07-14 19:54 | Unity | Comments(0)
<< 暑いよー UnityでのUnsafeコード >>