赤ちゃんの顔が良くなりました
2016年12月16日 (開発者日記)
こんにちは
主にUnity担当の浅野です。初投稿です。
今回は赤ちゃんの顔のテクスチャがだいぶ良くなったのでその報告です。
実は赤ちゃんの顔のテクスチャを作成するに当たりLive2Dを使用しています。
というのも赤ちゃんの顔の表情を変化させたいが、体験者によって顔のベースが変わってしまうため、
テクスチャの差分を複数枚用意し、それを変化させること(そもそもそんなノウハウは無い)や
3Dモデルの頂点を動かして表情を変化させること(これももちろんノウハウは無い)は
目や口のパーツの位置や形が変わってしまってできないため、どうしようか悩んだ結果Live2D+RenderTextureで
動的にテクスチャを作るというところに落ち着きました。
Live2Dだとパーツごとに素材となるテクスチャを分けられるため、位置ズレの影響を受けないというのが大きかったです。
そのために顔画像担当の錦澤君の仕事を増やしてしまったのはまた別の話
さて本題です。
今までの赤ちゃんの顔画像ではこの写真のように若干ですが目のところに四角形の縁が出ていました。
この画像だと目頭らへんが結構はっきりと出ています。
で、もっと分かりやすい画像を出すとこんな感じです。
2枚目の画像を見てもらえれば分かると思うのですがめちゃくちゃ目立ちます。
体験してして下さった方にも目の縁が気になると言われてしまっていたので直したいと思っていたのですが、
そもそもなんでこんな縁が出るのかがまったく分からず(おそらくUnityの仕様)だいぶ苦戦しました。
まず始めにやったことはテクスチャの設定でTextureTypeをAdvancedに
AlphaIsTransparencyをtrueにしました。
まぁその結果が上の目の画像なんですけどね。
ちなみにLive2Dの公式でもこの方法が推奨されているそうです。
で、やっぱり目立つってなりまして、最終的にテクスチャそのもののα値を弄りました。
テクスチャの縁の色のα値をグラデーションさせてこんな感じになりました。
Unityで画像処理をしているので当然のように重たいです。Awakeで処理させてるんで許してください!
まぁなんだかんだでかなり綺麗になりました。
あと赤ちゃんの顔周りで残っている課題としては顔以外の肌色の部分が目立つってところぐらいですかね
一応実装の目処はたっているのでLive2Dで大きな変更があったときに直そうと思います。
最近のコメント