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
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
44
ハッカソン請負人の 開発ルーティンを紹介!
donabe3
0
94
AndroidXR 開発ツールごとの できることできないこと
donabe3
0
380
OutOfRange 【プロトスプリントリーグ】
donabe3
0
120
Unityで都市開発シミュレーションゲーム開発をしてみよう
donabe3
0
540
現実 VS バーチャルのマルチプレイゲームを作ろう
donabe3
0
220
院試までなにやったか
donabe3
0
55
XR Interaction toolkit & XRHands & Passthrough API で MR 開発
donabe3
0
300
XRの魅力を語りたい
donabe3
0
76
Other Decks in Technology
See All in Technology
AI時代だからこそ推したい!Gitコマンド再入門
munakata
0
180
メルペイ 会計システム概要と歴史
mewuto
1
210
10年後、Engineering 行為を剥奪されるとして、わたしたちは、どう、何を創ればいいだろうか。 / If Engineering Is Taken Away in 10 Years, How and What Should We Create?
bitkey
PRO
1
130
日本語に強いオープンな大規模言語モデル「LLM-jp」
odashi
3
610
12 個 Tool と、 4,096 Token
hlum
0
140
LLM機能を自作して分かるSnowflake Cortex AIの強み
nayuts
0
370
Claude Code本は、どのように執筆チームで書かれたか
oikon48
1
360
Deep Data Security 機能解説
oracle4engineer
PRO
2
790
脆弱性診断って、何をしているの? 〜弱点を見つけて、会社の改善につなげるまで〜
keeg
0
880
AIカンパニーへの転換を支えた、エンジニアの仕事の再定義
kworkdev
PRO
1
490
パッチ更新でterraform initが落ちた日
grimoh
1
120
事業成長とデータ活用を止めないためのマネジメントへ挑戦
hiracky16
0
310
Featured
See All Featured
4 Signs Your Business is Dying
shpigford
187
23k
Mobile First: as difficult as doing things right
swwweet
225
10k
A better future with KSS
kneath
240
18k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
33
5.2k
Darren the Foodie - Storyboard
khoart
PRO
4
4k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
28
3.7k
How To Speak Unicorn (iThemes Webinar)
marktimemedia
1
590
Navigating Team Friction
lara
192
16k
Crafting Experiences
bethany
1
380
Public Speaking Without Barfing On Your Shoes - THAT 2023
reverentgeek
1
590
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.5k
From Legacy to Launchpad: Building Startup-Ready Communities
dugsong
0
350
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開発メモ
ご清聴ありがとうございました