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
20200916_XRMTG_LT資料
Search
Satoru Hayasaka
September 16, 2020
Technology
50
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
20200916_XRMTG_LT資料
Satoru Hayasaka
September 16, 2020
More Decks by Satoru Hayasaka
See All by Satoru Hayasaka
SparkARでARエフェクトを作成してみよう#1(公開用)
satoruhayasaka
0
190
SparkARでARエフェクトを作成してみよう#2(公開用)
satoruhayasaka
0
540
20211215_XRMTG_LT資料
satoruhayasaka
0
27
2021/11/17 XRMTG LT資料
satoruhayasaka
0
260
2021/3/17 XRMTG LT資料
satoruhayasaka
0
360
20201226_NT札幌_LT
satoruhayasaka
0
55
Other Decks in Technology
See All in Technology
継続的なAIコスト最適化
bgpat
1
280
子育てエンジニアの可処分時間が減っても成長を諦めない戦い方
sudoakiy
6
4.4k
並行性の問題を防げ!実践トランザクション入門
occhi
0
280
UniFi(ユニファイ)AIカメラの現場活用
ludicmind
1
410
hackers_champloo_2026_tidb
makocchi
0
110
WasmをRustにする
sansantech
PRO
0
150
脆弱性診断って、何をしているの? 〜弱点を見つけて、会社の改善につなげるまで〜
keeg
0
860
AI時代に必要な脅威モデリング― 変化の速度に負けない理解とリスク判断
masakane55
5
1.3k
12 個 Tool と、 4,096 Token
hlum
0
130
Datadog の学び方 - あるいは、オブザーバビリティを学ぶとは何か
mananyuki
1
540
ai_cording_with_k8s_knowledge.pdf
mochizuki875
1
330
不可逆な意思決定を避けながら10億超の顧客データを AI Ready にするデータ基盤設計
baseballyama
1
300
Featured
See All Featured
Technical Leadership for Architectural Decision Making
baasie
3
600
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
68
58k
Ten Tips & Tricks for a 🌱 transition
stuffmc
1
260
Utilizing Notion as your number one productivity tool
mfonobong
4
620
The Mindset for Success: Future Career Progression
greggifford
PRO
0
530
Building a A Zero-Code AI SEO Workflow
portentint
PRO
0
770
Jess Joyce - The Pitfalls of Following Frameworks
techseoconnect
PRO
1
440
A Tale of Four Properties
chriscoyier
163
24k
A Modern Web Designer's Workflow
chriscoyier
699
190k
Building Adaptive Systems
keathley
44
3.2k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.6k
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
930
Transcript
Webアプリ開発やった事ない おじさんエンジニアがWebARやってみた話 さって〜(たいちょ〜) @s_haya_0820
プロフィール という会社で開発エンジニアやってます 肩書きは『隊長』です(ガチの役職名ですw) 弊社のHP見るとテスト屋さんな感じですがシステム開発やってます! SE歴は20年くらいで主に組み込み系、アプリ開発などなどやってました さって〜(たいちょ〜) キャンプ大好きオジサンです
#DoMCN の会場貸し出し担当 せっかくだから自分でもXRの開発したい!
None
これ作ってみたい! Unityワカラン… アプリにしたら インストール面倒… どうすればいいんだ…
None
コレだ! 札幌にいると なかなか巡り会えなかったハンズオンに オンラインなら参加できる! WEBアプリなら インストール不要
None
うぉぉぉぉ!できた!
がっ! ここから発展させるためには いろんな知識がそもそも必要だった! SE歴は20年くらいで主に組み込み系、アプリ開発などなどやってました… JavaScriptチョットダケデキル... A-Frameの扱い方イマイチ分かってない... マーカーの検出はなんとかなるかな? (ハンズオンのおかげ!) HTMLチョットダケデキル...
A-Frameとの戦い… 最新Verの1.0.4を使ったが地味に情報が少ない Animationはググると古いVerの情報で 実は使えない構文があったり…と翻弄される… Three.jsのことも勉強しておけばよかった
やってみたこと - 試行錯誤 -
ü <a-plane><a-image>の配置 ü <a-entity>と<a-plane>の組み合わせによる配置 ü 複数アニメーションの同時進行 (position、rotate、visible) ü PNGの透明部分が重なることで裏側の<a-image>が 消えちゃう問題の解消
<a-plane color="#6846A5" width="1" height="1" depth="1" position="0 0 0" rotation="0 0
0"> ↓ <a-plane color="#6846A5" width="1" height="1" depth="1" position="0 0 0" rotation="-90 0 0"> <a-plane><a-image>の配置 ARマーカーに対して並行に表示したい →X軸に-90回転
<a-plane color="#6846A5" width="1" height="1" depth="1" position="0 0 0" rotation=”-90 0
0"> ↓ <a-plane color="#6846A5" width="1" height="1" depth="1" position="0 1 0" rotation="-90 0 0"> ↓ <a-plane color=“#6846A5” width=“1” height=“1” depth=“1” position=“0 0 1” rotation="-90 0 0"> <a-plane><a-image>の配置 ARマーカーの下側に移動したい →Y軸に”1”移動(浮き上がる…ソウジャナイ) →Z軸に”1”移動 Y X Z
<a-entity id="panel_1" width="1" height="1" depth="1" position="0 0 0" rotation="-90 0
0"> <a-plane color="#6846A5" width="1" height="1" depth="1" position="0 1 0" rotation="0 0 0"></a-plane> </a-entity> <a-entity>と<a-plane>の組み合わせによる配置 あまりX軸に-90していることを意識せずに<a-image>を配置できないものか… (x,yの配置で位置関係を把握したい…zとか出てくるとオジサンよくわからんw) →<a-entity>の子要素として<a-iamge>を置くことで <a-entity>を回転させつつ、<a-image>はx,y方向の位置指定で移動ができた Y X
<a-entity id="panel_1" width="1" height="1" depth="1" position="0 0 0" rotation="-90 -45
0"> <a-plane color="#d40010" width="0.5" height="0.5" position="-0.25 0.25 0" rotation="0 0 0"></a-plane> <a-plane color="#f2e500" width="0.5" height="0.5" position="-0.25 -0.25 0" rotation="0 0 0"></a-plane> <a-plane color="#744295" width="0.5" height="0.5" position="0.25 -0.25 0" rotation="0 0 0"></a-plane> <a-plane color="#e93587" width="0.5" height="0.5" position="0.25 0.25 0" rotation="0 0 0"></a-plane> </a-entity> <a-entity>と<a-image>の組み合わせによる配置
複数アニメーションの同時進行(position、rotate、visible) <a-entity id="panel_1" width="1" height="1" depth="1" position="0 0 0" rotation="-90
-45 0" animation__1 = " property : object3D.position.x; from : -1; to : 1; dir : alternate; dur : 2000; loop : true; easing : easeInOutSine; delay : 0; startEvents : animation_start; " animation__2 = " property : rotation; dur : 2000; to : -90 314 0; loop : true; easing : linear; delay : 0; startEvents : animation_start; " >
PNGの透明部分が重なることで裏側の<a-image>が消えちゃう問題の解消 <a-entity id="panel_1" width="1" height="1" position="0 0 0" rotation="-90 0
0"> <a-image src="#image_2" width="1" height="1" position="0 0 0.5" rotation="0 0 0"></a-image> <a-image src="#image_3" width="1" height="1" position="0 0 0.25" rotation="0 0 0"></a-image> <a-image src="#image_4" width="2" height="1" position="0 0 0" rotation="0 0 0"></a-image> </a-entity> 上の層の透過部分が 下のimageを消しちゃってる
PNGの透明部分が重なることで裏側の<a-image>が消えちゃう問題の解消 <a-entity id="panel_1" width="1" height="1" position="0 0 0" rotation="-90 0
0"> <a-image src="#image_4" width="2" height="1" position="0 0 0" rotation="0 0 0"></a-image> <a-image src="#image_3" width="1" height="1" position="0 0 0.25" rotation="0 0 0"></a-image> <a-image src="#image_2" width="1" height="1" position="0 0 0.5" rotation="0 0 0"></a-image> </a-entity> 下の層になる要素から 順に定義することで解消!
というわけでできたものがこちら
None
まとめ WEBアプリヨクワカランおじさんでも A-FrameとAR.jsでいい感じに作れる とはいえまだやりたくてもできてないことが 結構あるのでまだまだ試行錯誤必要!
p ARでのClick(TAP)検知 →イマイチうまく検知できず… p 自前の3Dモデルの表示やアニメーション →3Dモデリングの知識が必要? p 当たり判定使った表現 →やったことない p
Image Tracking(NFT) →やったことある が、ブレる(揺れる)のでなんとかしたい
ありがとうございました! さって〜(たいちょ〜)