Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Speech to Textureで 思い通りに世界を改変しよう
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
donabe
October 08, 2023
Technology
43
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
36
ハッカソン請負人の 開発ルーティンを紹介!
donabe3
0
88
AndroidXR 開発ツールごとの できることできないこと
donabe3
0
370
OutOfRange 【プロトスプリントリーグ】
donabe3
0
110
Unityで都市開発シミュレーションゲーム開発をしてみよう
donabe3
0
500
現実 VS バーチャルのマルチプレイゲームを作ろう
donabe3
0
220
院試までなにやったか
donabe3
0
53
XR Interaction toolkit & XRHands & Passthrough API で MR 開発
donabe3
0
300
XRの魅力を語りたい
donabe3
0
74
Other Decks in Technology
See All in Technology
Bet AI Day 2026丨AIによって本質に戻るシステムリスク管理
layerx
PRO
0
830
『止めない』を設計する — 制約の中で、事業の根幹を支える判断
hiroyaterui
0
180
Bet AI Day 2026丨How We Bet AI: AIとともに働く場をつくる
layerx
PRO
1
2.2k
#jawssonic2026 あの時代が悪かった ~動かなかったSageMakerと共に迎えたイベント当日~
ktkn1129
0
130
AIとペアプロを始める。人とのペアプロをやめる。ペアプロの良さを改めて知る。もっと好きになった。 / Rediscovering Pair Programming
honyanya
1
200
【視聴者参加型!】AWSセキュリティアンチパターンクイズ
syoshie
0
380
AI時代に、プロダクトの数だけ積み上がる所有コストをどうエンジニアリングするか / Engineering the Cost of Ownership
kzkmaeda
0
980
Webとヘルスデータ
yukukotani
0
170
2026-09-04 SRE Tech Talk #15 怠惰なTerraform / Lazy Terraform
masasuzu
0
190
Amazon S3 Tablesに全部任せてみた結果——コンパクション/スナップショット管理は本当に手放せるか
shigeruoda
0
370
書籍『生成AIの安全性入門』の入門
wataoka
0
210
どんな手を使っても絶対間に合わせるスケジューラ
asari194617
0
1.6k
Featured
See All Featured
YesSQL, Process and Tooling at Scale
rocio
174
15k
Dominate Local Search Results - an insider guide to GBP, reviews, and Local SEO
greggifford
PRO
0
320
Building AI with AI
inesmontani
PRO
1
1.2k
Building an army of robots
kneath
306
46k
Utilizing Notion as your number one productivity tool
mfonobong
4
570
Stop Working from a Prison Cell
hatefulcrawdad
274
21k
A brief & incomplete history of UX Design for the World Wide Web: 1989–2019
jct
2
500
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.6k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
10
1.3k
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
1
500
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
69
65k
Optimising Largest Contentful Paint
csswizardry
37
3.9k
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開発メモ
ご清聴ありがとうございました