質問編集履歴

2

追記の追記

2019/04/15 00:52

投稿

torano
torano

スコア92

title CHANGED
File without changes
body CHANGED
@@ -176,4 +176,6 @@
176
176
 
177
177
  なんとか黒い線をなんとか少なくすることはできたのですが、UV2テクスチャにした時点で以下のような劣化も発生しており、これを直す方法はまだわかりません。
178
178
  ![イメージ説明](d7ebc3136a43ee979049de3900e0e824.png)
179
- Unityちゃんの服やリボンなどに変な模様が...
179
+ Unityちゃんの服やリボンなどに変な模様が...
180
+ ![イメージ説明](46b3a1c1c07e0ef2e69a4cbda8702272.png)
181
+ テクスチャには変な模様はないのですが、モデルをみるとついています。

1

改善と新たな問題の追記

2019/04/15 00:52

投稿

torano
torano

スコア92

title CHANGED
File without changes
body CHANGED
@@ -152,4 +152,28 @@
152
152
  }
153
153
  ```
154
154
 
155
- 以上です。よろしくお願いします。
155
+ 以上です。よろしくお願いします。
156
+
157
+ ### 追記
158
+ Bongoさんが実装されていたようにUV2用のテクスチャを動的に作成し、uvをuv2に置き換えてみたところ正常にテクスチャがマッピングされ、かつペイントができるようになりましたが、ここで新たな問題として、テクスチャが劣化し以下のように黒い線が目立つようになりました。
159
+
160
+ ![イメージ説明](1d932fa64e3fd5797eb331a2c8f52682.png)
161
+
162
+ これをどうにかできないか考えていたのですが、少し改善できたので報告します。
163
+ edo_m18さんの記事でも紹介されている、[Unity Graphics Programming vol.2](https://indievisuallab.stores.jp/items/5ae077b850bbc30f3a000a6d)(有料)
164
+ こちらにもペイントのプロジェクトがあり、参考になるものがないかと探していたのですが、「ペイントした際できてしまうメッシュの隙間を埋めるシェーダー」を使用していて、ソースコードはGithubで公開されていました。
165
+ [ソース](https://github.com/IndieVisualLab/UnityGraphicsProgramming2/blob/master/Assets/ProjectionSpray/01_SimpleDraw/Shaders/FillCrack.shader)
166
+ こちらでは、ピクセルの色のアルファが一定より低ければ近傍の色を使う、といった実装になっています。試しにこれを使ってみましたら、多少改善したのですが、メインカメラがMSAAありだとまだ黒い線が目立っています。
167
+
168
+ ![イメージ説明](0b27c81c0c13aee124e4d7ee44d90d7e.png)
169
+
170
+ そこで、少し遠くの近傍テクセルをとってくるようにしたら以下のように。
171
+ ```
172
+ float2 d = _MainTex_TexelSize.xy * 5;
173
+ ```
174
+ ![イメージ説明](66389df6a696823f30fce350b410f444.png)
175
+ 手にはまだ少し黒い線が残ってますが、顔のはほとんど見えません。
176
+
177
+ なんとか黒い線をなんとか少なくすることはできたのですが、UV2テクスチャにした時点で以下のような劣化も発生しており、これを直す方法はまだわかりません。
178
+ ![イメージ説明](d7ebc3136a43ee979049de3900e0e824.png)
179
+ Unityちゃんの服やリボンなどに変な模様が...