勉強会のレポート(メモ)です。
参加したのはこちら「Gotanda.unity #20」
この記事は私の主観でのまとめです。
重要な情報が削られていたり、解釈違いの場合があるのでアーカイブの動画と合わせてどうぞ。
アーカイブはこちら
- Gotanda.unityとは
- LT#1 さい: Unityでペイントツールを作ってみる
- LT#2 なかじ: Unityで使える汎用的なハンバーガーメニューの実装
- LT#3 やまだ: 「なんかバグった」と言わせないためのデバッグ術
- LT#4 (スポンサー枠) まつの: f4samurai社内ゲームライブラリのパッケージ管理手法
- LT#5 tktr: アバターの着せ替え・カラバリってどうやるの? / TextMeshProを使った絵文字対応について
- LT#6 ふしっきー: Unityで作るパフォーマーのためのモバイルARフィルター
- LT#7 たけし: そろそろ輪郭線について見直しませんか?
- LT#8 にー兄さん: VFX Graphの気になるアップデートを軽率に紹介したい
- スポンサー紹介
- 感想
Gotanda.unityとは
都内近郊を中心に活動を行うUnityユーザのコミュニティです
Unityに興味がある人であれば、どなたでも気軽にご参加いただけます!
(五反田発の勉強会であることから「Gotanda.unity」というネーミングになっております)
LT#1 さい: Unityでペイントツールを作ってみる
「Unityでペイントツール作ってみる」のLTスライドですー。
— となりのさい (@sai_maple_) 2021年9月22日
#gotandaunity https://t.co/RDQ2GjTUST
解像度はどこまで上げるか
解像度は1024*1024以上がよさそう。これ以上は解像度より境界線をぼかしたほうがよい。
Unityのお絵描きで検索するとヒットするコードでよく見るSetPixelsは結構無駄が多い
→Graphics.BlitでGPUに処理させる
なめらかな線を引きたい
代表的アルゴリズム「ブレゼンハムのアルゴリズム」では円とかがきれいにかけない
→Catmull-Rom splineで曲線補間する
カラーの計算
重ね塗りで色が濃くなったり混ざったようにしたい。
乗算とスクリーンの組み合わせを使用しました。
こちらのアプリで試し書きができるのでぜひさわってみてください
LT#2 なかじ: Unityで使える汎用的なハンバーガーメニューの実装
先ほどの発表資料です!電波トラブルでご迷惑をおかけしてしまい申し訳ございませんでした🙇♂️ #gotandaunity #Vフレット
— なかじ @アルトデウスBC (@nkjzm) 2021年9月22日
Unityで使える汎用的な ハンバーガーメニューの実装https://t.co/qvjw4u6BKS
Vフレットの紹介
ギターに合わせてアバターで弾き語りができるアプリ
今回はVフレットを作っている時に生まれたアセットを紹介
UniHamburgerの紹介
メニューからゲーム中のパラメータを操作できるアセット
リアルタイムのプレビューが可能
GitHubで公開予定です
UniHamburgerの特徴
・uGUIベースで簡単に導入できる
・要素の追加はワンライナーでできる
・Enumのドロップダウン化ができて便利
・パラメータの保存機能
細かい便利機能
・ラベルの詳細の記述
・呼び出し元から非アクティブにして編集できないようにする
・パラメータのリセット
最後に
・近日中にリリース予定
・Bフレットもそのうち出すのでお楽しみに #Vフレット
LT#3 やまだ: 「なんかバグった」と言わせないためのデバッグ術
「なんかバグった」
— やまだ (@tty_yamada) 2021年9月22日
と言わせてしまわないためのデバッグ術
のLTスライドですhttps://t.co/OeBzzMrrG5 #gotandaunity
5W2H
何かバグった時は5W1Hでヒアリングすると思います
それに加えて、How Many(どのくらい発生するのか)が重要
発生率が低いほど直すのも確認するのも大変→バグが発生したチャンスを逃したくない
5W2Hの情報をどうやって集めるか
・デバッグシートの作成→情報の粒度が人によってバラバラ
・テスト仕様書の作成→仕様書にないものに対応できない、テストコードでやったほうが便利
自動で5W2Hを収集しよう
・エラーが発生した時にログを収集する仕組みを作ろう、ログはチャットツールに通知
・開発中にだけにわかりやすい情報を増やそう
まとめ
・デバッグの情報は人によってバラバラ
・欲しい情報のヒアリングにコミュニケーションコストがかかる
・バグが発生するとは限らない
→チャットツールのAPIで自動的にログを収集するというのをオススメします
SRDebuggerのオススメ
デバッグをするのに便利なツールです
LT#4 (スポンサー枠) まつの: f4samurai社内ゲームライブラリのパッケージ管理手法
9/22のGotanda.unityで、社内のUnityプロジェクトで実践しているパッケージ管理手法についてお話しさせていただきました! 講演資料をアップしています。#gotandaunity
— MATSUNO Hiroki (@f4s_matsuno) 2021年9月29日
f4samurai社内ゲームライブラリのパッケージ管理手法 https://t.co/DYg6tYtHzS
共通ライブラリ
これまではプロジェクトごとにスクラッチで実装していた
→似た機能を共通ライブラリを作りたい
しかし、修正が発生した時の影響範囲がわからないため細かいモジュール単位で管理
どう実現するか
PackageManagerを使う、ライブラリはカスタムパッケージ化してGitHubで管理
パッケージの依存関係はGitDependencyResolverForUnityで解決
まとめ
・各プロジェクトで共通で使える機能はライブラリ化しましょう
・大きいライブラリだと管理が大変なので、小さい単位で管理
・依存関係はPackageManagerとGitDependencyResolverForUnityで解決
・非エンジニアの人が困らないような配慮が必要
LT#5 tktr: アバターの着せ替え・カラバリってどうやるの? / TextMeshProを使った絵文字対応について
バーチャルカラオケ配信アプリ「トピア」のアバター実装についてのお話
アバターの着せ替え実装
素体モデルを用意して衣装メッシュのボーンと素体のボーンを紐づける
衣装モデルSkinnedMeshRenderer.bones配列に対応する素体のボーンを設定。
アバターのカラバリ実装
1衣装につき3色まで色変更可能。
衣装テクスチャとRGBテクスチャを用意して、シェーダー側で色を変更する
TextMeshProを使った絵文字対応
実装して発生した問題
・文字化けの発生(用意されていない絵文字の使用、文字コードが崩れたとき)
→入力終了後に範囲外チェックを行う
・TextMeshProの絵文字は改行位置がおかしくなる
→絵文字の後ろにゼロ幅スペースを置くと単語ではなくなるので改行がされなくなる
解決方法
絵文字を使うならUnityのInputFieldは使用してはいけない
入力はTouchScreenKeyboardで受け取り、TextMeshProで表示
LT#6 ふしっきー: Unityで作るパフォーマーのためのモバイルARフィルター
本日のGotanda.unityでの発表資料です。
— ふしっきー | AR Engineer (@fusikky) 2021年9月22日
Unityで作るパフォーマーのためのモバイルARフィルター #gotandaunity https://t.co/5P8HkAait2
取り組み
パフォーマー向けのモバイルARフィルターを作っています。
・プロダンサーリアルタイム合成配信
・映像コンテストでそれぞれ映像投稿
使用技術の紹介
検出はUnity AR Foundation+iOS ARKit
エフェクトはShader、Trail、ParticleSystem、Vfx Graph
モバイルARフィルター撮影のいいところ
・スマートフォンを向けるだけで誰でもエフェクト合成できる
・リアルタイムで体験できる
大変な所
・リアルタイム撮影だと後から編集が難しい
・モバイルなの毎回ビルドが必要
・トラッキング技術難易度が高い
まとめ
制作事例と使用技術についてまとめました
大変だけど楽しく撮影しています
LT#7 たけし: そろそろ輪郭線について見直しませんか?
現行の主要な輪郭線の手法
背面法:モデルを拡大して背面を線として描画する手法
輪郭線フィルタ:G-bufferに対して輪郭線検出フィルタを適用する手法
輪郭線について見直し
これからは幾何情報をより多く活用するアプローチだったり、機械学習やレイトレーシングを有効活用するアプローチが考えられる。
実際にやってみたサンプル
ライブラリ
まとめ
・現行の輪郭線アルゴリズムは良くも悪くも枯れた手法
・ハードウェアの機能を活かすことで発展の可能性あり
・みんなで輪郭線界隈を盛り上げていきましょう
LT#8 にー兄さん: VFX Graphの気になるアップデートを軽率に紹介したい
本日Gotanda.unityで発表する資料になりますー#gotandaunity https://t.co/A558IjKZiM
— にー兄さん (@ninisan_drumath) 2021年9月22日
VFX Graphを新機能3つ紹介します
Sample Skinned Mesh
SkinnedMeshをSampleしてくれるノード
メッシュの表面からパーティクルをスポーンしたりなどができる
Sample Graphics Buffer
配列からGraphics Bufferを生成し直感的で便利に。
デモ
SDF Bake Tool
SDFとは任意の点から形状への距離と方向を保持したデータ。3Dテクスチャとして扱われる。
過去にSDFを使用したVFXで登壇したこともあります
スキャンデータを使った リッチなVFXを軽率に作ろう - Speaker Deck
デモ
まとめ
・SimpleXX系ノードがアツい
・頑張ればできる機能が頑張らなくてもできるようになった
・アーティスト向けツールとして正当な進化
・VFX Graphはいいぞ
スポンサー紹介
株式会社f4samurai
スマホ向けのゲームの企画・開発を行っています。
採用ページがリニューアルしました!
ワンダープラネット株式会社
プロダクト紹介
エンジニア募集中です
www.wantedly.com
技術ブログもやっています
株式会社キッズスター
子供向けのプロダクトを作っています
さまざまなジョブを募集中です。Wantedlyからご応募ください。
感想
今回もおもしろいLTばかりでしたが、
一番興味を持ったのはLT#3の「「なんかバグった」と言わせないためのデバッグ術」ですね。
ピンポイントでぶっ刺さる内容なのでめちゃくちゃタメになりました。
LT#4の「f4samurai社内ゲームライブラリのパッケージ管理手法」も興味深い!
そしてとうとうごたゆにも20回目!
思い返してみると初めて参加したのが、7回目のGotanda.unityでした。
たしかUnite Tokyo 2018でとと様と直接話したのが参加したきっかけでしたね。
9回目の時はとうとうLT初登壇もキメてやりました。
それ以降も毎回参加していろいろ学ばせていただいています。
参加しすぎてキッズスターの会社紹介はもはや暗唱できるレベルです。
これからもよろしくお願いします。
間違っている箇所、消してほしいツイートがありましたらコメントにお願いします。