# インターンシップ成果発表 ## 自己紹介 - 西澤佳祐(Keisuke Nishizawa) - 奈良先端科学技術大学院大学 M1 (立命館大学情報理工学部 卒業) - Android, Unity, Web, DTM - 元RCC(立命館コンピュータクラブ) - Twitter: こなつ(@konatsu_p) ## 配属部署/期間 - 配属先: LC事業部 VC開発部 - 期間: 2019/08/19 - 2019/09/13(4週間) ## インターンの目的 - Android以外の分野で広く働いてみたかった - DMMに行ってみたい! - サービス開発の進め方、サービスの良さなど - (アダルトコンテンツを扱うサービスに触れられる**貴重な**機会) ## プロダクト バーチャルライブチャット バーチャルキャラクターと**非日常的なコミュニケーション** がしたいユーザー向けの アダルトバーチャルライブチャットです。これはリアルタイムにバーチャルキャラクターと会話やアダルトなコミュニケーションが取れるYouTubeや他のプラットフォームで活動している所謂VTuberとは違ってアダルト要素が備わった唯一無二のバーチャルライブチャットです。 ## やったこと 1. BlendShapeを用いた滑らかな表情遷移 2. Typescript移行のやり方をまとめる 3. Leapmotionを用いたハンドトラッキング 4. その他 ### 1. BlendShapeを用いた滑らかな表情遷移 #### 背景 - 表情を切り替えるボタンを押すと、一瞬で変わってしまいリアルさに欠ける →表情を滑らかに遷移させたい! →遷移速度も調整できるようにしたい! #### 結果 いけた(スクリーンレコード等) #### 手法 元のBlendshapeと先のBlendShapeを線形補間する (BlendShapeの画像) https://www.semanticscholar.org/paper/Transposition-Based-Blendshape-Direct-Manipulation-Cetinaslan-Lewis/00fb090461de6931f63cd16a976e6ae0496bc696/figure/4 https://kasion.artstation.com/projects/Jkaza Vector3.Lerp()関数を使用(線形補間) `A + (B - A)* T` A: 変換元の値, B: 変換先の値, T: 補間速度係数(0<= T <= 1.0) ``` public static float Lerp(float a, float b, float t) { return a + (b - a) * Mathf.Clamp01(t); } ``` ## 学んだこと - 顔のBlendshape関連 - ### 2. Typescript移行のやり方をまとめる #### 背景 今回のサービスはUnity, Electronを連携させて動いている ElectronのWebアプリがまだTS移行していなかったので、TS移行どうやるかをまとめ一部移行する #### 方法 既存のTypescriptの #### 結果 ## 学んだこと ### 3. Leapmotionを用いたハンドトラッキング #### 背景 #### 実装方法 #### 結果 ## 学んだこと ### その他 - 鏡面対応 - IK周りの調査等 - 3Dモデルのキャラクターの違いを調査・比較 ## 学んだこと ## インターン期間を終えて得た会社の印象 - 心理的安全性 - フレックス等で働きやすい - 優秀な人が多い - イベント開催されてて良い(新規事業LT会・BeerBash等) - 新しいチャレンジをしつつ、でも慎重に進める - (当たり前ですが)真面目にR-18な話をする - 今まで行ったインターンの中で一番早く感じた(あっという間に終わってしまって悲しい) ## 感想 - 知見が多く心から来てよかったと思った - 新規事業の判断のむずかしさやアプローチなどリアルな現場を知れた - 家が近いのは神(徒歩3分) ## 今後の展望 - 就職活動と研究 - - a