あなたのお返事とサポートに感謝します。
Thank you for your reply and support.
Manually setting mipmap levels of a texture should work as mentioned in the article you mentioned. Are you sure that your
modified texture is used at the Spine SkeletonAnimation material?
はい。調査を続けたところmipmapの手動割り当てには成功していることが確認できました。詳細を後述します。
Yes. After continuing the investigation, I confirmed that the manual allocation of mipmap was successful. Details will be described later.
Does it work if you do not use a SkeletonAnimation component but instead draw the modified mipmap texture on a quad?
申し訳ありません。私はご指摘の「quad」とこの工程の具体的な手順が理解できませんでした。
SkeletonAnimationではない、通常のTextureType:Sprite(2D&UI)でmipmapが表示できるかどうか、を指していますか?
I'm sorry. I couldn't understand the "quad" you pointed out and the specific steps in this process.
Is it pointing to whether or not mipmap can be displayed with normal TextureType: Sprite (2D & UI), not SkeletonAnimation?
Apart from that, have you tried different mipmap bias values at the Texture, e.g. -1 as well instead of 0 and 0.5?
私はそれを試してみました。ですが画像は依然としてぼやけたままで、満足の行く結果が得られませんでした。
I tried it. But the image was still blurry and didn't produce satisfactory results.
_____
■Mipmapの手動割当とPremultiply Alphaついて
About manual allocation of Mipmap and Premultiply Alpha
調べていくうちに、私はこの問題がmipmapではなく、
Straight Alpha と Premultiply Alpha(PMA) の設定が衝突していることが原因のように思えました。
In my investigation, I found this problem was not in mipmap
It seemed to be due to a conflict between the settings of Straight Alpha and Premultiply Alpha (PMA).
http://ja.esotericsoftware.com/forum/viewtopic.php?p=15772
実際のところ、手動でのmipmap割当は成功しているように見えます。
In fact, the manual mipmap allocation seems to succeed.
わかりやすいように色を付けました。
カメラがズームすると手動で設定した緑色のmipmapに切り替わっていることが確認できます。
しかしそれは上記のURLにある「BLEEDING INTO TRANSPARENT AREAS」と同様の症状があります。
Colored for clarity.
When the camera zooms, you can see that it has switched to the manually set green mipmap.
However, it has the same symptoms as "BLEEDING INTO TRANSPARENT AREAS" in the above URL.
今回のmipmap手動割当は、Spineで出力されたpng画像をphotoshopで縮小して使用しています。
その画像は通常はUnityのアトラスではなく、通常のpng画像としてインポートされてしまうので、Premultiply Alphaとして扱われていないように見えます。
それをmipmapとして、PMAのアトラスに上書きしたため、PMAの中にStraight Alphaの画像が混じってしまい、それが表示された時、設定の食い違いから「BLEEDING INTO TRANSPARENT AREAS」が出現してしまうように感じました。
この推測は正しいでしょうか? ご意見をお聞かせください。
This time, mipmap manual allocation uses the png image output from Spine after reducing it in Photoshop.
The image doesn't seem to be treated as a Premultiply Alpha because it's usually imported as a regular png image, not a Unity atlas.
Since it was overwritten on the PMA's atlas as a mipmap, the image of Straight Alpha was mixed in the PMA, and when it was displayed, it seemed that "BLEEDING INTO TRANSPARENT AREAS" would appear due to the discrepancy in the settings. It was.
Is this guess correct? Please let us know what you think.
■PMAでmipmapを手動上書きするには?
How to manually overwrite mipmap in PMA?
上記の推測が正しければ、以下の2つのうちどちらかが実現できれば、問題が解決しそうです。
・photoshopで縮小したpngアトラスをUnity上でPMAにする(ただし、アルファを乗算したあとで縮小しているので、乗算済みアルファの部分が正しく機能するかはまだ分かりません)
・Spineでmipmapに割当できる異なった解像度のアトラスを出力する(PMAが維持され、各パーツの位置が解像度間で完全に一致している必要がありそうです)
If the above assumptions are correct, the problem is likely to be solved if either of the following two can be realized.
-Make png atlas reduced in photoshop PMA on Unity (However, since it is reduced after multiplying by alpha, it is still unknown whether the part of the multiplied alpha works correctly)
-Output atlas of different resolutions that can be assigned to mipmaps in Spine (PMA must be maintained and the position of each part must match exactly between resolutions)
しかし、私はその方法がわかりません。
レンダリング速度を速くしたいので、可能であれば Straight ではなく PMA 形式で実装したいです。
But I don't know how.
I want to speed up the rendering, so I would like to implement it in PMA format instead of Straight if possible.
上記の推測は正しいのか、正しければそれを修正するための方法をご教授いただければ幸いです。
何卒よろしくお願い致します。
Is the above guess correct, and if so, please give me a way to fix it.
Thank you for your cooperation.