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
LINEで通話してくれる妹の作り方
Search
uezo
December 16, 2021
Technology
0
610
LINEで通話してくれる妹の作り方
LINE Developer Community 忘年LT大会での登壇資料。WebGLをLIFFで動かします。
uezo
December 16, 2021
Tweet
Share
More Decks by uezo
See All by uezo
【完全版】Dify - LINE Bot連携 考え方と実用テクニック
uezo
4
2.1k
Dify - LINE Bot連携 考え方と実用テクニック
uezo
7
3k
キャラクター制御のためのプロンプト術 for LINE Bot
uezo
0
990
Food Virtualizationへの挑戦
uezo
0
100
ChatGPTとExcelの組み合わせによる業務効率化 ~適用業務の勘所と効果~
uezo
1
550
ビジネスパーソンのためのChatGPT API×Excel VBA超活用講座(OSS集会)
uezo
1
390
UnaSlidesのご紹介
uezo
1
510
LINE Messaging APIの概要 - LINE API総復習シリーズ
uezo
1
1.1k
LINEでビデオ通話してくれる妹の作り方
uezo
0
210
Other Decks in Technology
See All in Technology
AWSを利用する上で知っておきたい名前解決の話
nagisa53
6
690
ビジネスとデザインとエンジニアリングを繋ぐために 一人のエンジニアは何ができるか / What can a single engineer do to connect business, design, and engineering?
kaminashi
2
880
非root化Androidスマホでも動く仮想マシンアプリを試してみた
arkw
0
110
AOAI で AI アプリを開発する時にまず考えたいこと
mappie_kochi
1
410
MySQL InnoDB Data Recovery - The Last Resort
lefred
0
100
社会人力と研究力ー博士号をキャリアの武器にするー
kentaro
2
110
開発者とQAで協業するテックタッチの取り組み
shutty
0
100
MySQL Indexes and Histograms – How they really speed up your queries
lefred
0
150
2025年8月から始まるAWS Lambda INITフェーズ課金/AWS Lambda INIT phase billing changes
quiver
1
620
企業が押さえるべきMCPの未来
takaakikakei
3
730
ここはMCPの夜明けまえ
nwiizo
32
13k
クラウドネイティブ環境の脅威モデリング
kyohmizu
1
370
Featured
See All Featured
Building a Modern Day E-commerce SEO Strategy
aleyda
40
7.2k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
12k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
The Pragmatic Product Professional
lauravandoore
33
6.6k
Rails Girls Zürich Keynote
gr2m
94
13k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
13
830
The Invisible Side of Design
smashingmag
299
50k
4 Signs Your Business is Dying
shpigford
183
22k
Side Projects
sachag
453
42k
Bash Introduction
62gerente
612
210k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
45
9.5k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
Transcript
LINE Unity WebGL LINE Platform 2021.12.16 LINE Developer Community LT
UFJ DX uezo @uezochan
⚫ ⚫ 2006 https://forest.watch.impress.co.jp/ docs/serial/moritalk/528628.html
BOT ⚫ ⚫
CLOVA ⚫
Gatebox ⚫ Gatebox
⚫
2018.3 2021.12 3 100
BOT CLOVA Gatebox ? LINE We are here
https://youtu.be/CSS_N3GYheU
LIFF ⚫ ⚫ LINE LINE LIFF App
Unity WebGL on LIFF Azure Speech Services ⚫ Unity WebGL
LIFF ⚫ ⚫ ⚫ ⚫ Conversation Service FastAPI / Python Reminder Service (FastAPI / Python) VOICEROID Server ⚫ ⚫ ⚫ Push ⚫ ⚫ VOICEROID2 + pyvcroid2 FastAPI REST API Server LINE ⚫ Microphone WebGL Library ⚫ SALSA & Amplitude ⚫ ChatdollKit ⚫ Cygnet 3D
WebGL 1. 5 10 2. dlopen, you need to use
linking support, see https://github.com/kripken/emscripten 👉 3. C# async/await 👉 JS UniTask 4. .NET HttpClient 👉UnityWebRequest UniTask await 5. HTTP 👉Web CORS 6. Microphone 👉 Microphone WebGL Library 7. 👉 8. 16,000Hz 👉44100Hz 9. AudioClip.GetData() 👉Unity Wav 10. DownloadHandlerAudioClip.GetContent() 👉PCM AudioClip.Cleate() 11. MP3 TTS 👉 44,100Hz 20,050Hz 12. 👉 SALSA + Amplitude 13. UI 👉
LIFF WebGL Tips Unity jslib JS LINE RequireLiffToken() sessionStorage ⚫
LIFF Unity ⚫ Unity Web GL jslib ⚫ ⚫ init() iframe with liff.init() liff.getAccessToken() AccessToken setItem JS getItem AccessToken sendLiffToken() setLiffToken() & https://developers.line.biz/ja/docs/liff/opening-liff-app/#redirect-flow See also: LIFF URL LIFF
LIFF WebGL Tips <script> window.liff = liff; window.sendLiffToken = function()
{ var liffToken = window.sessionStorage.getItem("LiffAccessToken"); unityInstance.SendMessage("Cygnet_MidiDress", "SetLiffToken", liffToken); } </script> Unity jslib using System.Runtime.InteropServices; using UnityEngine; public class LiffController : MonoBehaviour { [DllImport("__Internal")] private static extern void RequireLiffToken(); public string LiffAccessToken { private set; get; } private void Start() { // Request to HTML to call SetLiffToken RequireLiffToken(); } // HTML calls this method to pass the liff token public void SetLiffToken(string liffToken) { LiffAccessToken = liffToken; } } mergeInto(LibraryManager.library, { CloseLiffWindow: function () { window.liff.closeWindow(); }, RequireLiffToken: function () { window.sendLiffToken(); } }); JS
⚫LINE ⚫ WebGL WebGL ⚫ LIFF ⚫Enjoy creating app on
LINE Platform!
👋 uezo @uezochan