Raspberlyのブログ

Raspberlyのブログ

Unityネタをメインとした技術系ブログです。にゃんこ大戦争や日常なども。そろそろブログタイトル決めたい

【勉強会レポ】: Gotanda.unity #20

勉強会のレポート(メモ)です。
参加したのはこちら「Gotanda.unity #20」

meetup.unity3d.jp

ハッシュタグ : #gotandaunity

 

この記事は私の主観でのまとめです。
重要な情報が削られていたり、解釈違いの場合があるのでアーカイブの動画と合わせてどうぞ。

 

アーカイブはこちら

www.youtube.com

 

Gotanda.unityとは

都内近郊を中心に活動を行うUnityユーザのコミュニティです
Unityに興味がある人であれば、どなたでも気軽にご参加いただけます!
(五反田発の勉強会であることから「Gotanda.unity」というネーミングになっております)

 

 

LT#1 さい: Unityでペイントツールを作ってみる

解像度はどこまで上げるか

解像度は1024*1024以上がよさそう。これ以上は解像度より境界線をぼかしたほうがよい。

Unityのお絵描きで検索するとヒットするコードでよく見るSetPixelsは結構無駄が多い

→Graphics.BlitでGPUに処理させる

なめらかな線を引きたい

代表的アルゴリズム「ブレゼンハムのアルゴリズム」では円とかがきれいにかけない
→Catmull-Rom splineで曲線補間する

カラーの計算

重ね塗りで色が濃くなったり混ざったようにしたい。
乗算とスクリーンの組み合わせを使用しました。

 

こちらのアプリで試し書きができるのでぜひさわってみてください

laughter.inc

 

 

 

LT#2 なかじ: Unityで使える汎用的なハンバーガーメニューの実装

Vフレットの紹介

ギターに合わせてアバターで弾き語りができるアプリ
今回はVフレットを作っている時に生まれたアセットを紹介

UniHamburgerの紹介

メニューからゲーム中のパラメータを操作できるアセット
リアルタイムのプレビューが可能
GitHubで公開予定です

github.com

UniHamburgerの特徴

・uGUIベースで簡単に導入できる
・要素の追加はワンライナーでできる
Enumのドロップダウン化ができて便利
・パラメータの保存機能

細かい便利機能

・ラベルの詳細の記述
・呼び出し元から非アクティブにして編集できないようにする
・パラメータのリセット

最後に

・近日中にリリース予定
・Bフレットもそのうち出すのでお楽しみに #Vフレット

 

 

 

LT#3 やまだ: 「なんかバグった」と言わせないためのデバッグ

5W2H

何かバグった時は5W1Hヒアリングすると思います
それに加えて、How Many(どのくらい発生するのか)が重要
発生率が低いほど直すのも確認するのも大変→バグが発生したチャンスを逃したくない

5W2Hの情報をどうやって集めるか

デバッグシートの作成→情報の粒度が人によってバラバラ
・テスト仕様書の作成→仕様書にないものに対応できない、テストコードでやったほうが便利

自動で5W2Hを収集しよう

・エラーが発生した時にログを収集する仕組みを作ろう、ログはチャットツールに通知
・開発中にだけにわかりやすい情報を増やそう

まとめ

デバッグの情報は人によってバラバラ
・欲しい情報のヒアリングにコミュニケーションコストがかかる
・バグが発生するとは限らない

→チャットツールのAPIで自動的にログを収集するというのをオススメします

SRDebuggerのオススメ

デバッグをするのに便利なツールです

 

 

 

LT#4 (スポンサー枠) まつの: f4samurai社内ゲームライブラリのパッケージ管理手法

共通ライブラリ

これまではプロジェクトごとにスクラッチで実装していた
→似た機能を共通ライブラリを作りたい

しかし、修正が発生した時の影響範囲がわからないため細かいモジュール単位で管理

どう実現するか

PackageManagerを使う、ライブラリはカスタムパッケージ化してGitHubで管理
パッケージの依存関係はGitDependencyResolverForUnityで解決

github.com

まとめ

・各プロジェクトで共通で使える機能はライブラリ化しましょう
・大きいライブラリだと管理が大変なので、小さい単位で管理
・依存関係はPackageManagerとGitDependencyResolverForUnityで解決
・非エンジニアの人が困らないような配慮が必要

 

 

 

 

LT#5 tktr: アバターの着せ替え・カラバリってどうやるの? / TextMeshProを使った絵文字対応について

バーチャルカラオケ配信アプリ「トピア」のアバター実装についてのお話

アバターの着せ替え実装

素体モデルを用意して衣装メッシュのボーンと素体のボーンを紐づける
衣装モデルSkinnedMeshRenderer.bones配列に対応する素体のボーンを設定。

アバターのカラバリ実装

1衣装につき3色まで色変更可能。
衣装テクスチャとRGBテクスチャを用意して、シェーダー側で色を変更する

TextMeshProを使った絵文字対応

実装して発生した問題

・文字化けの発生(用意されていない絵文字の使用、文字コードが崩れたとき)
→入力終了後に範囲外チェックを行う

・TextMeshProの絵文字は改行位置がおかしくなる
→絵文字の後ろにゼロ幅スペースを置くと単語ではなくなるので改行がされなくなる

解決方法

絵文字を使うならUnityのInputFieldは使用してはいけない
入力はTouchScreenKeyboardで受け取り、TextMeshProで表示

 

 

 

 

LT#6 ふしっきー: Unityで作るパフォーマーのためのモバイルARフィルター

取り組み

パフォーマー向けのモバイルARフィルターを作っています。
・プロダンサーリアルタイム合成配信
・映像コンテストでそれぞれ映像投稿

使用技術の紹介

検出はUnity AR Foundation+iOS ARKit
エフェクトはShader、Trail、ParticleSystem、Vfx Graph

モバイルARフィルター撮影のいいところ

スマートフォンを向けるだけで誰でもエフェクト合成できる
・リアルタイムで体験できる

大変な所

・リアルタイム撮影だと後から編集が難しい
・モバイルなの毎回ビルドが必要
・トラッキング技術難易度が高い

まとめ

制作事例と使用技術についてまとめました
大変だけど楽しく撮影しています

 

 

 

 

LT#7 たけし: そろそろ輪郭線について見直しませんか?

現行の主要な輪郭線の手法

背面法:モデルを拡大して背面を線として描画する手法
輪郭線フィルタ:G-bufferに対して輪郭線検出フィルタを適用する手法

輪郭線について見直し

これからは幾何情報をより多く活用するアプローチだったり、機械学習レイトレーシングを有効活用するアプローチが考えられる。

実際にやってみたサンプル

github.com

ライブラリ

github.com

まとめ

・現行の輪郭線アルゴリズムは良くも悪くも枯れた手法
・ハードウェアの機能を活かすことで発展の可能性あり
・みんなで輪郭線界隈を盛り上げていきましょう

 

 

 

 

LT#8 にー兄さん: VFX Graphの気になるアップデートを軽率に紹介したい

VFX Graphを新機能3つ紹介します

Sample Skinned Mesh

SkinnedMeshをSampleしてくれるノード
メッシュの表面からパーティクルをスポーンしたりなどができる

youtu.be

Sample Graphics Buffer

配列からGraphics Bufferを生成し直感的で便利に。

デモ

github.com

SDF Bake Tool

SDFとは任意の点から形状への距離と方向を保持したデータ。3Dテクスチャとして扱われる。
過去にSDFを使用したVFXで登壇したこともあります

スキャンデータを使った リッチなVFXを軽率に作ろう - Speaker Deck

デモ

github.com

まとめ

・SimpleXX系ノードがアツい
・頑張ればできる機能が頑張らなくてもできるようになった
・アーティスト向けツールとして正当な進化
VFX Graphはいいぞ

 

 

 

 

 

スポンサー紹介

株式会社f4samurai

スマホ向けのゲームの企画・開発を行っています。
採用ページがリニューアルしました!

recruit.f4samurai.jp

 

ワンダープラネット株式会社

プロダクト紹介

crashfever.com

jumputi.game.line.me

 

エンジニア募集中です

www.wantedly.com
技術ブログもやっています

developers.wonderpla.net

 

株式会社キッズスター

子供向けのプロダクトを作っています

biz.kidsstar.co.jp

さまざまなジョブを募集中です。Wantedlyからご応募ください。

www.wantedly.com

 

 

 

 

 

感想

今回もおもしろいLTばかりでしたが、
一番興味を持ったのはLT#3の「「なんかバグった」と言わせないためのデバッグ」ですね。
ピンポイントでぶっ刺さる内容なのでめちゃくちゃタメになりました。
LT#4の「f4samurai社内ゲームライブラリのパッケージ管理手法」も興味深い!

 

 

そしてとうとうごたゆにも20回目!
思い返してみると初めて参加したのが、7回目のGotanda.unityでした。

gotanda-unity.connpass.com

 

たしかUnite Tokyo 2018でとと様と直接話したのが参加したきっかけでしたね。
9回目の時はとうとうLT初登壇もキメてやりました
それ以降も毎回参加していろいろ学ばせていただいています。

raspberly.hateblo.jp

 

参加しすぎてキッズスターの会社紹介はもはや暗唱できるレベルです。
これからもよろしくお願いします。

 

 

 

 

間違っている箇所、消してほしいツイートがありましたらコメントにお願いします。