2Dスプライトで動的な頂点ライティングを使用しています。大きいスプライトでは、小さいスプライトよりも照明が醜くなります。これは、すべてのスプライトが2つの三角形の四角形であるためです。広い領域を照らすのに十分な頂点がありません。
スプライトでより多くの三角形を使用する方法はありますか?彼らがカバーしている画面スペースの大きさにもよるでしょうか?
1
クワッドをさらに分割したいようですね。それが事実である場合、私はこれを実現するための擬似コードにいくつかの良い例があります。Afaik Unityを使用すると、ゲームオブジェクトメッシュ(およびその三角形/頂点)にアクセスできます。これにより、目的を達成できます。これは、クワッドを分割するためのgamedevでのそのような例の1つです:クワッドを分割する方法?。これはあなたが探していたものに沿っていますか?
—
Logham
はい、クワッドの分割は私が探しているアプローチです。これには、巻線とUVが含まれると思います。そうすれば、三角形が増えます。
—
aggsol 2014
スプライトを描画するときにテッセレーションシェーダーを使用してみましたか?docs.unity3d.com/Manual/SL-SurfaceShaderTessellation.htmlの answers.unity3d.com/questions/583960/...
—
ClassicThunder
クワッドをテッセレーションすると、頂点のライティング値が補間されます。クワッドはフラットであるため、頂点が増えると、補間はクワッド全体で線形になります。三角形を追加すると、この問題はどのように修正されますか。これは、ピクセルシェーダーで解決する必要があるように聞こえます。
—
Arun R
@ArunR良い点ですが、たとえば、クワッドがポイントライトの範囲よりも大きい場合、三角形がライトを使用します。残念ながら、すべてのデバイスでピクセルシェーダーを使用することはできません。
—
aggsol 2014