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
LINEで通話してくれる妹の作り方
Search
uezo
December 16, 2021
Technology
790
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
LINEで通話してくれる妹の作り方
LINE Developer Community 忘年LT大会での登壇資料。WebGLをLIFFで動かします。
uezo
December 16, 2021
More Decks by uezo
See All by uezo
【完全版】Dify - LINE Bot連携 考え方と実用テクニック
uezo
4
2.9k
Dify - LINE Bot連携 考え方と実用テクニック
uezo
7
3.5k
キャラクター制御のためのプロンプト術 for LINE Bot
uezo
0
1.2k
Food Virtualizationへの挑戦
uezo
0
180
ChatGPTとExcelの組み合わせによる業務効率化 ~適用業務の勘所と効果~
uezo
1
650
ビジネスパーソンのためのChatGPT API×Excel VBA超活用講座(OSS集会)
uezo
1
550
UnaSlidesのご紹介
uezo
1
880
LINE Messaging APIの概要 - LINE API総復習シリーズ
uezo
1
1.4k
LINEでビデオ通話してくれる妹の作り方
uezo
0
320
Other Decks in Technology
See All in Technology
仕様駆動開発の、その先へ。決める力と確かめる仕組み
inariku
1
150
ドメインエキスパートは いかにして AI を使って プロダクト開発をするか
tatsuyashiraishi
1
240
構造で守らせる データ・法務・セキュリティ・開発チームとつくる AI時代のデータガバナンスとデータ基盤のリアル
legalontechnologies
PRO
2
700
Flutter Widget Previewerで始めるUIプレビューとVRTの自動化
sakusaku3939
0
180
E2Eってつらくないですか?E2Eの管理コストを下げる手段とその実践
akaboshinit
6
2.8k
素人でもできた!AIを使った短編小説創作入門
delhi09
PRO
0
250
[General] 개발자로 해외 기업에서 일하기
skydoves
1
140
AI秘書と毎日働くのはもう当たり前。開発以外の業務に足りない機能をどう埋める?
minorun365
PRO
4
2k
Claude for Google Workspaces ポン出し/claude-for-google-workspace-slide-conversion
emiki
0
13k
アクセラレーターで実現するServiceNow活用の高速化 / ServiceNow World Forum 2026
visional_engineering_and_design
0
110
[FECONF-2026] 신대륙을 향한 카카오페이증권 프론트엔드 항해기 (이주승)
l1ghthouse
0
330
kintoneで在庫管理システムを作るときの要件定義・設計ポイント
kai0707
0
190
Featured
See All Featured
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
540
Visualization
eitanlees
153
17k
RailsConf 2023
tenderlove
30
1.6k
YesSQL, Process and Tooling at Scale
rocio
174
15k
Game over? The fight for quality and originality in the time of robots
wayneb77
1
320
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
62k
Claude Code のすすめ
schroneko
67
230k
We Are The Robots
honzajavorek
0
410
BBQ
matthewcrist
90
10k
Rebuilding a faster, lazier Slack
samanthasiow
85
9.7k
Getting science done with accelerated Python computing platforms
jacobtomlinson
2
560
How to Grow Your eCommerce with AI & Automation
katarinadahlin
PRO
2
330
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