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
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
uezo
December 16, 2021
Technology
770
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.8k
Dify - LINE Bot連携 考え方と実用テクニック
uezo
7
3.5k
キャラクター制御のためのプロンプト術 for LINE Bot
uezo
0
1.1k
Food Virtualizationへの挑戦
uezo
0
160
ChatGPTとExcelの組み合わせによる業務効率化 ~適用業務の勘所と効果~
uezo
1
630
ビジネスパーソンのためのChatGPT API×Excel VBA超活用講座(OSS集会)
uezo
1
510
UnaSlidesのご紹介
uezo
1
830
LINE Messaging APIの概要 - LINE API総復習シリーズ
uezo
1
1.4k
LINEでビデオ通話してくれる妹の作り方
uezo
0
290
Other Decks in Technology
See All in Technology
Webの技術とガジェットで子どもも大人も楽しめるワクワク体験を提供する / Qiita Tech Festa Day 2026
you
PRO
1
190
AI時代こそ、スケールしないことをしよう -「作る人」から「なぜ作るか」を考える人へ / Do Things That Don't Scale in the AI Era — From How to Why
kaminashi
1
110
AI x 開発生産性を取り巻く予算戦略と投資対効果
i35_267
7
2.9k
AI時代におけるテストの基礎の再定義 / Rethinking the Fundamentals of Testing in the AI Era
mineo_matsuya
14
4.8k
AmplifyHostingConstructからSSRフレームワークのためのホスティング設計を考察する/amplify-hosting-construct
fossamagna
1
310
文字起こし基盤の信頼性
abnoumaru
0
120
全社でのソフトウェアサプライチェーン攻撃対策をやってみた with Takumi Guard
z63d
0
280
プロダクト開発組織の現在地(Ver.2026/07) / product-organization
kaonavi
0
410
設計レビューとAIハーネスで向き合う AIが生み出した新しいボトルネックの対処法 / Design Reviews and AI Harnesses Against New Bottlenecks Created by AI
nstock
5
440
AI時代の開発生産性を捉え直す — 経営と現場をつなぐ「開発組織のオブザーバビリティ」— / AI Dev Ex Conference 2026
tkyowa
1
1.3k
OPENLOGI Company Profile for engineer
hr01
1
74k
AIエージェントがあれば技術書なんてすぐ書けるでしょ→無理でした
watany
2
290
Featured
See All Featured
Design in an AI World
tapps
1
270
SERP Conf. Vienna - Web Accessibility: Optimizing for Inclusivity and SEO
sarafernandez
2
1.5k
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
2
380
Highjacked: Video Game Concept Design
rkendrick25
PRO
1
410
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
Agile that works and the tools we love
rasmusluckow
331
22k
Have SEOs Ruined the Internet? - User Awareness of SEO in 2025
akashhashmi
0
400
Navigating Weather and Climate Data
rabernat
0
400
The AI Revolution Will Not Be Monopolized: How open-source beats economies of scale, even for LLMs
inesmontani
PRO
3
3.6k
Color Theory Basics | Prateek | Gurzu
gurzu
0
400
How STYLIGHT went responsive
nonsquared
100
6.2k
Public Speaking Without Barfing On Your Shoes - THAT 2023
reverentgeek
1
460
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