2017-12-10 7 views
0

私は今作っているゲームの一部で何週間も苦労しています。 Unityおよびプログラミング初心者として、私は私が(1:10から)このように皮のメッシュにペイントできる方法を理解するためにあなたの経験やアドバイスが必要:私は見つけるために多くの時間を費やすメッシュを塗り替えてメイクする

https://www.youtube.com/watch?v=grVEK1Bb6ZM

結果のない解決策(テクスチャを分離するデカールシェーダ、アルファ付きメッシュにペイント、プロジェクトテクスチャ、マージテクスチャ..)。しかし、これらのソリューションは、携帯電話や私が必要とする正確に悪いように見える。

誰かがそれを行う方法を知っていれば、私の研究を推進する少しの情報や何かを、非常に歓迎します。

ありがとうございました!

答えて

0

あなたが提供する例は、(すなわち眉上、または唇に)ビットマップマスクと絵の範囲を制限するので、絵だけより楽しくUXのためのものです。これが必要な場合は、おそらく次のようなことをする必要があります。

マウスがモデルとやりとりする場所を知る必要があります。レイキャスティングは高価で、文字がスキンされるため、フレームごとにコライダーを更新する必要があります。あなたはあなたの例のマスキングトリックを使用している場合は、https://docs.unity3d.com/ScriptReference/SkinnedMeshRenderer.BakeMesh.htmlhttps://answers.unity.com/questions/39490/collider-on-skinned-mesh.html

を見るだけで、その特定の領域(例のためだけかもしれない顔)

を含むメッシュのサブセットを渡す可能性があるので、これは劇的に、計算量を削減します

(あなたができない場合は、そこに別のfloatバッファ/テクスチャの中にキャラクターのUVをレンダリングするように、他のトリックも、マウスの位置を使用して、そのバッファをサンプリングできる)

あなたはあなたができるメッシュをレイキャストすることができたら、ヒットのUV位置を取得する https://docs.unity3d.com/ScriptReference/RaycastHit-textureCoord.html

これらのUVを使用すると、テクスチャ、またはレンダーターゲットなどのパーティクル/オブジェクトに書き込むことができます(ここには多くのオプションがあります)。

次に、そのテクスチャを文字のシェーダのビットマップマスクと組み合わせる必要があります。

関連する問題