こんにちは。Mirrativ3Dデザイナーの下原です。
昨今、VTuberやVRの流れで3Dアバターに対する需要や注目度が高まっています。
その中でエモモをはじめとするアバターメイクシステムも多く見られるようになってきました。
ですが、どういうデータを用意すればアバターメイクシステムが実現できるのか?といった実践的なデザイナー向けの技術共有はまだまだなされていない印象です。
そこで、Unityで作られているエモモのアバターメイクシステムについて、どういった手法で、またどういった意図で実現しているのかを紹介いたします。
エモモについて
デザイナー向け採用資料「THE WORLD OF EMOMO」
エモモは「あなたは、誰にでもなれる」というコンセプトで実現されたアバターシステムです。顔出しの文化がないMirrativにおいて、エモモはユーザーの顔となり、「わかりあう願いをつなぐ」ためのコミュニケーションツールとなっています。
そんなエモモの開発において、重要視しているのは一人一人の「個性を表現できること」です。
100万人のユーザーが入れば、100万通りのエモモが表現できる世界を目指しています。
そんな世界観を目指す中で、「仕様的に実現できない顔」といったものは存在しないことが理想です。
柔軟で様々な個性を表現できる構造になっていることが、エモモというアバターシステムの開発において大事な思想となります。
顔パーツの切り替え
個性の表現においてとりわけ重要な顔のパーツ。これらがどういった仕様になっているのかご紹介します。
目のパーツ
【パーツ切り替えの仕組み】
- 目は特定範囲を切り抜き、メッシュごと差し替えることでパーツごとの切り替えを実現しています
- 境界部分の頂点位置と数さえ同じならば、どんなトポロジーの目の形状であっても実装できるようになっています
▲眉や下まつ毛はアルファ抜きテクスチャで表現しています
- 表情は目ごとにブレンドシェイプで作成しています
- 閉じ目
- 嬉しい
- 悲しい
【目玉】
- 板ポリを3枚重ねて表現しています(白目・黒目・ハイライト)
- Zファイディングがおきないように手前に来る黒目とハイライトはRender Queueを高く設定しています
- UVスクロールで目線を制御しています
▲別マテリアルで分けておくことにより、黒目テクスチャを変えて別の目にする、といったことも可能にしています
▲UVのOffsetで目線を制御
口と顔輪郭
- 口は同じくメッシュで切り取って切り替えています
- 表情も同じくブレンドシェイプ(母音・嬉しい・悲しい)
- 顔の輪郭の変形もブレンドシェイプとして値を持っていて、数値の組み合わせで顔の形を作っています
▲顔の形状をブレンドシェイプで変更
鼻
- 鼻用テクスチャをシェーダーで合成しています
- 容量節約のために鼻部分のUVのみUV2に入れています
課題感
個性が大事と前置きしましたが、現状のエモモの仕様は初期のエモモ仕様準拠で作られており、様々な課題を抱えております。
例えば表情をひとつ追加しようと思うと、全パーツに手をいれる大工事となってしまうナイーブな作りになっていたり。
パーツを追加しようとすればひとつひとつ手作りしていく体力勝負になってしまったり。
100万通りの個性を目指すにはスケールしづらい仕様になっています。
より生産性が高く柔軟に制作できるように仕様レベルで見直しております。
「なぜイケてない状態で進めたのか?」と思われるかもしれませんが、高速開発して最速でリリースし改善していくというMirrativの開発スタイルがゆえになります。実際、このエモモ自体も3カ月でリリースしており、そこから改善を重ねてきています。
あなたは、誰にでもなれる。Mirrativ新機能「エモモ」を公開しました! | 株式会社ミラティブ
「もうひとりの自分」を作るためにアバターに「個性」を。3Dデザイナーによる改善項目をざくっとまとめてみた | 株式会社ミラティブ
おわりに
Mirrativはサードプレイスになることを目標としています。それがゆえに、ものづくりの性質が「作品づくり」ではなく「文化づくり」に寄っていると感じています。
ユーザーに使ってもらい、何かを表現したり、コミュニケーションしたりできる場を作ること。
「文化づくり」においてはインタラクティブ性や自己表現ができることなど、自由度の高さが大事になってきます。
こうしたデザイナーの技術共有がもっと盛んになり、アバター文化がもっと盛り上がっていくことを願っております。
ミラティブでは新しい文化を一緒に作る仲間を募集しています。
ぜひご気軽にご応募ください。