今までに作ったもの

とにかく気になったものには見境なく手を出して試しているのですが、それゆえに自分が今までに何をやったのか用意には思い出せなくなっていることもあり、記事にまとめてみました。

Unity系

心拍数連携VR配信スタジオ

YouTubeでのリングフィット配信用に、Unity内にHTC Viveの3点のモーションとMi Band4の心拍数を持ち込んでいます。レンダリングと心拍数のWebでのグローバル公開までをPulsoidに任せ、UWP上のブラウザコンポーネント経由で取得した心拍数をファイルシステム経由でUnityに取り込んでいます。取り込んだ心拍数を元にシェーダーを制御することで頬の紅潮を、シェイプキーを制御することで表情を制御しています。

現在、フルボディトラッキング対応に向けた改修作業を進めています。

使用ツール:Unity/.NET Framework/Visual Studio/Rider/SteamVR SDK/Mi Band4/Pulsoid

Androidアプリ HCP計算ドリル

Unityを使ったゲーム制作の練習のために作ったAndroid向けのカードゲームです。手札のHCP(高得点カード)の総和を答えるだけの単純なルールな分、エフェクトとゲームバランスでゲームとして成立するように工夫しました。ペナルティが小さいとプレイヤーは計算せず当てずっぽうで答えるようになり、一方でペナルティが大きいとゲームがすぐ終わってしまうため、正答時の残り時間回復を導入し、ちょうどよい塩梅を模索しました。

HCP計算ドリル – コントラクトブリッジ入門者の計算練習 – Google Play Store

使用ツール:Unity/Visual Studio/Photoshop/各種Unityアセット

アンサンブル練習アプリ「iSonatine」デモ

 Ko Watanabe Strings様の依頼で制作したAndroid/iOSアプリです。コロナ禍でも音楽家や学生がアンサンブルの練習をできるように、というコンセプトです。「自分のパートだけ聞いて覚えたい」「自分のパートだけミュートして練習したい」「苦手な部分を繰り返し練習したい」という要望に応える機能が搭載されています。クライアント様に実際に触ってもらいフィードバックを繰り返しながら開発を行いました。iOSとAndroidでオーディオ周りの性能が違い、開発用のAndroid端末では音声と映像のズレが発生するため、音のズレが少ない処理を模索しました。

 デモ版では1曲のみの収録ですが、将来的には複数曲を実装することが計画されています。

iSonatine – App Store

iSonatine – Play Store

使用ツール:Unity/Visual Studio/Affinity Designer/Affinity Photo


3Dモデル系

キャラクターモデル/VRChat・VRMアバター「横手ラトラ」

コヨーテ獣人のアバターを制作しました。シチュエーションに合わせてフィットネスウェア、水着などのバージョンもあります。白目は球体、瞳はすり鉢状で眼球がギリギリ頭部に収まるバランスです。一部バージョンには視線ボーン・リップシンクと表情のシェイプキーがあります。

横手ラトラ – VRoid Hub

使用ツール:Blender/Unity/VRC SDK/UniVRM/Photoshop

Virtual Market 4 出展

 サイバーパンクでありながらどこかアンティーク調テイストを取り入れたワールドに合わせた雰囲気のブースを制作・出展しました。

 会場の動線を考慮するとともに、ブースの規定サイズ内に収めつつできるだけ空間を広く使うように設計を行いました。

使用ツール:Blender/Unity/VRC SDK/Photoshop

Virtual Market 5 出展

宇宙ステーションをモチーフとしたワールドに合わせ、宇宙船で輸送するコンテナをモチーフにしたブースを作成s・出展しました。Blenderのモディファイアの使い方に習熟してきたこともあり、前回よりも大幅にディテイルアップしています。その分オブジェクト数・マテリアル数が増えたため、規定に収めるための最適化作業についても前回よりも本格的に行っています。

Virtual Market 5 オービタル01 とりえ’s JUNK YARD

使用ツール:Blender/Unity/VRC SDK/Vket SDK/Photoshop

デジタル一眼レフ フォトグラメトリ

 フォトグラメトリの手法を使ってデジタル一眼レフカメラのモデルを作成し、Neos VRに持ち込みました。レンズとボディを分割して撮影することでどの方向から見ても破綻の無いモデルにできました。ほぼ回転体であるレンズは(撮影に使用した)カメラの姿勢推定が難しかったため、関係ない物体(リモコン)を置いたり特徴点になりそうな図形を紙に書いたりして工夫しました。

 なお、自分が使用したカメラは吸収合併の関係で写真に含まれるメタデータが同じブランドでも時期によって違っており、その点がフォトグラメトリソフトに反映されておらず非対応になっていたため、フォトグラメトリ処理にあたってカメラモデルデータベースファイルの書き換え・リポジトリへプルリクエストを送るということをしています。

使用ツール:デジタル一眼レフカメラ/Alicevision Meshroom/Blender


2Dグラフィクス系

音楽制作者サロン(discordサーバ)「Reunion」ロゴデザイン

 自分が主催する、音楽仲間の集まるdiscordサーバのアイコン用ロゴ。

 Reunionというネーミングは一度解散してしまった仲間を再集結させた背景から。アルファベットのRを左上を向いた矢印に見立てた意匠にし、視線の流れと逆方向に進む=接頭辞Reの意味を持たせました。ほぼ全員がデジタルネイティブでDAWを使用したデジタル音楽を制作しているメンバーであるためEDM/Trance/Electronica系を意識したトンマナとしました。

「AAA」(個人事業)ロゴデザイン

 iSonatineの開発依頼を受けるに当たって開業したAAAのロゴ。

 アバター「横手ラトラ」の基本衣装のカラーリングであるオレンジとグリーンの配色としました。あまりシャープな印象にし過ぎると親しみやすさが失われると考え、直線で構成された構造にやわらかい曲線で肉付けし、敢えてやや野暮ったくなることを意図しました。また、当然ながらフルカラーだけでなくモノクロ・レーザー刻印・立体出力で表現しても破綻しないことを念頭に置きました。

使用ツール:Affinity Photo/Affinity Designer

Live2Dモデリング

個人バーチャルYouTubeブームを受けて自分用のLive2Dモデルを制作しました。

使用ツール:Live2D Cubism/Photoshop

写真撮影・編集

デジタル一眼レフ、フィルム一眼レフ、フィルム二眼レフなどの機材を使い、動物、飛行機、日常の記録、街角スナップなどを撮影しています。

「トイカメラを分解して摘出したレンズをデジタル一眼レフに装着」「超広角レンズを使用して全天球写真を撮影してGoogleストリートビューに投稿する」などの実験も好んで行っています。

日本工業大学LCセンター

使用ツール:デジタル一眼レフカメラ(PENTAX/OLYMPUS)/PENTAX PHOTO Laboratory/Affinity Photo

ステレオリグ作成・ステレオ写真撮影

 かねてから鑑賞時のビューアの用意が面倒なのがステレオ写真の課題であると考えていましたが、VR HMDを所有してVR SNSを楽しんでいる人にとってはステレオ写真を展示したワールドに行けばすぐにでも鑑賞可能ということに気づき、手持ちの機材を活用してステレオ写真の撮影をできる方法を考えました。

 実験の結果から要件を「並列ではステレオベースが長すぎるため、カメラを互い違いに」「画角は広すぎても狭すぎてもよくないため35mmで」「フォーカシング・露出等の設定は割り切ってマニュアルに」と定めました。

 ホームセンターで購入したアルミ合金製の板などの部品を一般開放している工房に持ち込み、加工。安価な機材で比較的高画質なステレオ写真が撮影できるシステムを構築することができました。

使用ツール:デジタル一眼レフカメラ(PENTAX)/メタルソー/グラインダー/Affinity Photo/StphotoMaker


音楽・音声系

ボイスチェンジャー制御デバイス

 単純なピッチ・フォルマントシフト方式のボイスチェンジャーにおいては声のピッチが高くなった部分で特に顕著に、声質に違和感が発生してしまう課題があります(いわゆる「ケロケロボイス」)。

 そこで、話者の声のピッチが高くなった際にフォルマントシフト量を抑制することを目的として、話者のピッチに対するフォルマントシフト量をグラフの形で指定して制御できるMax for Liveデバイスを制作しました。

 ピッチ・フォルマントシフトエフェクト本体は市販のものを使い、制御及び制御パラメータの設定を行う部分のみを開発しました。

入力音声のピッチに連動してピッチ・フォルマントシフト量が変化するボイチェン

使用ツール:Ableton Live/Max for Live/LittleAlterBoy

Unite In the Sky ミュージックビデオ

実施内容:キャラクターモデルの制作とUnityシーンへの組み込み(モデル差し換え)歌唱、ボーカルエディット・ミックス

※ステージ演出やパーティクルはアセットのものをそのまま利用しています

 自作したVRMアバターの動作チェック・気軽にライブ風映像を作って楽しむために「VRM Live Viewer」というアプリがよく利用されているが、このアプリで使われているアセットを使い、ミュージックビデオを制作した。

 VRM Live Viewerを使わずにUnityで直接撮影する利点はカメラの被写界深度・手足からのパーティクルなどのリッチなエフェクト、自動でのダイナミックなカメラ切り替えなどである(いずれもAssetデフォルト状態で有効)。

 この方法は前述のリッチな表現が利用できる一方でアバターの差し替えの手間が多く、アバターに修正点を見つけて差し替えるたびに煩雑な手順を踏まねばならないため苦労した。

 ビデオ制作に伴って宅録での歌唱収録・ボーカルエディット・ミキシングなども行った。

なお、自分が使用したUniVRMのバージョンは先人の手順通りでは想定通り動作しなかったためスクリプトの書き換えを行っており、その手順をZennの記事として残してある。

VRM形式のアバターをCandy Rock Starに持ち込んで躍らせる(UniVRM0.61版)

使用ツール:Blender/Unity/ユニティちゃんライブステージ! -Candy Rock Star-アセット/Ableton Live/VEGAS Edit

ボイスドラマ「定食男子」

実施内容:テーマ曲作詞・作編曲・歌唱・ボーカルエディット・ミックス・声の出演・台詞の音声修正とエフェクト追加・プロジェクト内情報共有のためのWiki整備・Google Drive整備など

VRoidキャラクターを使用したボイスドラマ動画企画「定食男子」に参加しました。楽曲・音声関係のタスクだけでなく、プロジェクト全体がスムーズに回るような環境の整備を自らの提案で積極的に行いました。

使用ツール:iZotope RX/Ableton Live

MYCOEIROINK音声モデル作成

 COEIROINKは入力したテキストに基づいて、機械学習を活用したアプローチで自然な読み上げ音声を生成するソフトウェアである。COEIROINKに付随して、収録した自身の音声を元に音声合成モデル(ライブラリ)を作成するベータ版サービス、MYCOEIROINKが公開されている。これはITAコーパスと呼ばれる424文の読み上げ音声を元にGoogle Collabで学習を行う仕組みになっている。

 このMYCOEIROINKを使用し、声色を変えて収録と学習を行う数種類の音声モデルを作成した。

使用ツール:OREMO/Google Colab/MYCOEIROINK


その他・WIP等

AAA 個人事業用コーポレートサイト

 開業に伴い、コーポレートサイトを制作した。CSSフレームワークにPure CSS、マークアップにPug、コンパイルにGulpを使用した。

AAA

使用ツール:WebStorm/Pure CSS/Pug/Gulp

VRフリック入力システムプロトタイプ(WIP)

 VR内で文字入力が求められる状況はしばしばあるが、快適に文字が入力できずイライラさせられるケースも多い。日本語の入力となるとそれが顕著になり、そもそも日本語の入力が用意されておらず英数字のみの入力しかないケースすらある。VR内において日本語が快適に入力でき、かつ比較的多くの人に馴染みのある方式としてフリック入力が考えられたため、VR内に実装した。各行を押し込むと対応した段のかなが表示されるという仕組みとなっている。実際に日本語入力を行うとなると当然かな漢字変換機能が必要になるため、Google日本語入力APIを使用して変換する機能を実装中。入力した文字に対して変換候補をAPIから取得する段階まで実装ができている。

使用ツール:Unity/SteamVR SDK