Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Speech to Textureで 思い通りに世界を改変しよう
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
donabe
October 08, 2023
Technology
45
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Speech to Textureで 思い通りに世界を改変しよう
donabe
October 08, 2023
More Decks by donabe
See All by donabe
Unityがマルチプラット フォームビルドできる理由は? よく聞くIL2CPPって? 調べてみました!
donabe3
0
47
ハッカソン請負人の 開発ルーティンを紹介!
donabe3
0
94
AndroidXR 開発ツールごとの できることできないこと
donabe3
0
390
OutOfRange 【プロトスプリントリーグ】
donabe3
0
120
Unityで都市開発シミュレーションゲーム開発をしてみよう
donabe3
0
550
現実 VS バーチャルのマルチプレイゲームを作ろう
donabe3
0
230
院試までなにやったか
donabe3
0
56
XR Interaction toolkit & XRHands & Passthrough API で MR 開発
donabe3
0
300
XRの魅力を語りたい
donabe3
0
76
Other Decks in Technology
See All in Technology
オントロジーって 結局なにもの? AI エージェントに「意味」を渡す知識設計の話
greenmidori
0
260
Let's Change Our World—Again
snoozer05
PRO
5
340
freeeにおける AI を用いた ブラウザ動作確認の自動化の取り組み
freee
PRO
0
140
小規模OSSモデルは サイバーセキュリティ業務に どこまで使えるか
bbrbbq
0
190
[EMNLP26] RIGEL: Self-Distilled Score Adaptation for Image and Video Captioning Evaluation
keio_smilab
PRO
0
120
Claude Code on Bedrock で統制をかける小ネタ集/claude-code-bedrock-governance-tips
emiki
1
270
Rustuna: Rustによる高速なOptuna実装
pfn
PRO
0
210
QAエンジニアがSoutherを使ってみたの〜10分でわかるSouther〜
mhlyc
0
110
日本語に強いオープンな大規模言語モデル「LLM-jp」
odashi
5
1.2k
Classmethod Company Deck
satoshi7
1
810
ストレスなくAIと付き合いたい!こんなときどうしてる?
namiki64
4
670
OptunaHub: ブラックボックス最適化のためのプラットフォーム
pfn
PRO
0
150
Featured
See All Featured
Raft: Consensus for Rubyists
vanstee
142
7.8k
Deep Space Network (abreviated)
tonyrice
0
380
Automating Front-end Workflow
addyosmani
1369
210k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
287
14k
Believing is Seeing
oripsolob
1
250
How to Ace a Technical Interview
jacobian
280
24k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
10
1.4k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
18k
The State of eCommerce SEO: How to Win in Today's Products SERPs - #SEOweek
aleyda
2
12k
Designing for Timeless Needs
cassininazir
1
530
Marketing Yourself as an Engineer | Alaka | Gurzu
gurzu
0
330
Are puppies a ranking factor?
jonoalderson
2
4.1k
Transcript
Speech to Textureで 思い通りに世界を改変しよう 土鍋 2023/10/08 Zli 大LT
自己紹介 名前: 土鍋 (渡辺雄大) 学年: 学部4年(28期) 所属: A-PxL元代表、Zli、Iwaken Lab. 興味:
XR、Unity、ゲーム、CG、映像 趣味: ゲーム、ゲーム開発、鉄道旅行、Vtuber Twitter(X): @donadonadonabe Blog: https://donabenabe.hatenablog.com 近況: 筑波大学 大学院 合格しました 2
世界を思い通りに改変したいですよね?
現在の研究 空間デザインにおいて抽象的な想像を具現化するのは難易度が高い 直感的な指示によって想像通りなテクスチャ変更を可能にしたい 音声認識とハンドトラッキング、画像生成AIを用いて実装する
デモ
全体の構成 HandTracking
Speech to Text 1. 録音(AudioClip) 2. AudioClipからWaveへの変換 3. Whisper API
(Speech to Text) 4. レスポンスのtextが返ってくる 参考: Unityで録音アプリを作成 - YKpages
AudioClipをWAVEファイルに変換 録音データはUnity独自のAudioClip形式 Whisper APIは.mp3や.wavなどに対応している → 変換が必要 Wave Audio Clip ChunkSize
44 + AudioClip.samples * AudioClip.channels * BitsPerSample / 8 NumChannels AudioClip.channels SampleRate AudioClip.frequency ByteRate AudioClip.samples * AudioClip.channels * BitsPerSample / 8 BlockAlign AudioClip.channels * BitsPerSample / 8 Subchuk2Size AudioClip.samples * AudioClip.channels * BitsPerSample / 8 参考: 【Unity】AudioClipからWAVEファイルを生成する - はなちるのマイノート
全体の構成 HandTracking
ChatGPTでPrompt形式に変換 ChatGPT APIを叩いてるだけ Prompt 「送信されたテキストに基づいて、画像生成AI用のプロンプトを作成する。 ただし、プロンプトのみを出力する。英語、短い単語をカンマ区切りで。」 ChatGPT APIをUnityから動かす。|ねぎぽよし
全体の構成 HandTracking
Text to Image(Stable Diffusion) AUTOMATIC1111の「Stable Diffusion web UI API」 https://github.com/AUTOMATIC1111/stable-diffusion-webui
Cloneして ローカルでAPIサーバーを立てる
リクエスト セットアップ内容のJson → 今回はプロンプトのみ使用 その他の値はデフォルト 今後は選択したオブジェクトのテクスチャサイズ に応じて、画像を生成するようにしたい
レスポンスからUnityのテクスチャを生成 imageはBase64で返ってくるのでbyte配列に変換してあげる。 byte配列をテクスチャに変換 オブジェクトのMeshRendererのマテリアルのBaseMapに 生成したテクスチャをセット byte[] data = Convert.FromBase64String (imageData);
Texture2D texture = new Texture2D(1, 1); texture.LoadImage(data); nowSelectGameObject .GetComponent<MeshRenderer>().materials[0] .SetTexture("_BaseMap",result);
全体の構成 HandTracking
3Dスキャン Room Plan: Apple ARKitの機能の一つ LiDARセンサーでスキャンし、部屋の家具を仮想空間に再現する
ハンドトラッキング 指差したオブジェクトを選択してテクスチャを変えたい。 右手 1. 人差し指だけ伸びてるか? 2. 指からRayを発射 3. 当たったオブジェクトを取得 左手
親指と人差し指をくっつけると 録音開始・停止
今後の展望 オブジェクトの形状に合うようにテクスチャを生成するようにしたい
参考資料 • Unityで録音アプリを作成 - YKpages • 【Unity】AudioClipからWAVEファイルを生成する - はなちるのマイノート •
【Unity × ChatGPT API × WhisperAPI】音声認識AIアシスタントを実装する • ChatGPT APIをUnityから動かす。|ねぎぽよし • UnityのMicrophoneで正確な録音時間を取得する方法 - Qiita • stable diffusion webuiのAPIを使う方法 • UnityWebRequest で簡単 HTTP(POST)通信 | 株式会社ビヨンド • Unityでbyte配列からテクスチャ作ってスプライト化するまでやる · GitHub • Unity + Meta Quest開発メモ
ご清聴ありがとうございました