work in progress [might break]
This commit is contained in:
parent
ae9eae1b20
commit
f6132a29f4
8 changed files with 2788 additions and 12 deletions
6
dist/xrfragment.aframe.all.js
vendored
6
dist/xrfragment.aframe.all.js
vendored
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* v0.5.1 generated at Fri Dec 15 06:46:07 PM CET 2023
|
* v0.5.1 generated at Fri Dec 15 07:00:04 PM CET 2023
|
||||||
* https://xrfragment.org
|
* https://xrfragment.org
|
||||||
* SPDX-License-Identifier: MPL-2.0
|
* SPDX-License-Identifier: MPL-2.0
|
||||||
*/
|
*/
|
||||||
|
|
@ -3095,6 +3095,8 @@ window.AFRAME.registerComponent('xrf', {
|
||||||
let url = opts.xrf.string
|
let url = opts.xrf.string
|
||||||
let isLocal = url.match(/^#/)
|
let isLocal = url.match(/^#/)
|
||||||
let hasPos = url.match(/pos=/)
|
let hasPos = url.match(/pos=/)
|
||||||
|
let meeting = $('[meeting]') ? $('[meeting]').components['meeting'] : false
|
||||||
|
if(meeting) meeting.notifyTeleport(url)
|
||||||
if( isLocal && hasPos ){
|
if( isLocal && hasPos ){
|
||||||
// local teleports only
|
// local teleports only
|
||||||
let fastFadeMs = 200
|
let fastFadeMs = 200
|
||||||
|
|
@ -3510,7 +3512,7 @@ AFRAME.registerComponent('meeting', {
|
||||||
return this
|
return this
|
||||||
},
|
},
|
||||||
|
|
||||||
notifyTeleport: function(buttons){
|
notifyTeleport: function(url,buttons){
|
||||||
// send to network
|
// send to network
|
||||||
this.sendChat({
|
this.sendChat({
|
||||||
content: `${this.data.visitorname} teleported to ${this.roomname}`,
|
content: `${this.data.visitorname} teleported to ${this.roomname}`,
|
||||||
|
|
|
||||||
6
dist/xrfragment.aframe.js
vendored
6
dist/xrfragment.aframe.js
vendored
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* v0.5.1 generated at Fri Dec 15 06:46:07 PM CET 2023
|
* v0.5.1 generated at Fri Dec 15 07:00:04 PM CET 2023
|
||||||
* https://xrfragment.org
|
* https://xrfragment.org
|
||||||
* SPDX-License-Identifier: MPL-2.0
|
* SPDX-License-Identifier: MPL-2.0
|
||||||
*/
|
*/
|
||||||
|
|
@ -3089,6 +3089,8 @@ window.AFRAME.registerComponent('xrf', {
|
||||||
let url = opts.xrf.string
|
let url = opts.xrf.string
|
||||||
let isLocal = url.match(/^#/)
|
let isLocal = url.match(/^#/)
|
||||||
let hasPos = url.match(/pos=/)
|
let hasPos = url.match(/pos=/)
|
||||||
|
let meeting = $('[meeting]') ? $('[meeting]').components['meeting'] : false
|
||||||
|
if(meeting) meeting.notifyTeleport(url)
|
||||||
if( isLocal && hasPos ){
|
if( isLocal && hasPos ){
|
||||||
// local teleports only
|
// local teleports only
|
||||||
let fastFadeMs = 200
|
let fastFadeMs = 200
|
||||||
|
|
@ -3504,7 +3506,7 @@ AFRAME.registerComponent('meeting', {
|
||||||
return this
|
return this
|
||||||
},
|
},
|
||||||
|
|
||||||
notifyTeleport: function(buttons){
|
notifyTeleport: function(url,buttons){
|
||||||
// send to network
|
// send to network
|
||||||
this.sendChat({
|
this.sendChat({
|
||||||
content: `${this.data.visitorname} teleported to ${this.roomname}`,
|
content: `${this.data.visitorname} teleported to ${this.roomname}`,
|
||||||
|
|
|
||||||
2770
dist/xrfragment.module.js
vendored
2770
dist/xrfragment.module.js
vendored
File diff suppressed because it is too large
Load diff
2
dist/xrfragment.three.js
vendored
2
dist/xrfragment.three.js
vendored
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* v0.5.1 generated at Fri Dec 15 06:46:07 PM CET 2023
|
* v0.5.1 generated at Fri Dec 15 07:00:04 PM CET 2023
|
||||||
* https://xrfragment.org
|
* https://xrfragment.org
|
||||||
* SPDX-License-Identifier: MPL-2.0
|
* SPDX-License-Identifier: MPL-2.0
|
||||||
*/
|
*/
|
||||||
|
|
|
||||||
2
dist/xrfragment.three.module.js
vendored
2
dist/xrfragment.three.module.js
vendored
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* v0.5.1 generated at Fri Dec 15 06:46:07 PM CET 2023
|
* v0.5.1 generated at Fri Dec 15 07:00:04 PM CET 2023
|
||||||
* https://xrfragment.org
|
* https://xrfragment.org
|
||||||
* SPDX-License-Identifier: MPL-2.0
|
* SPDX-License-Identifier: MPL-2.0
|
||||||
*/
|
*/
|
||||||
|
|
|
||||||
|
|
@ -32,21 +32,21 @@
|
||||||
XRFMENU.logo = './../../assets/logo.png'
|
XRFMENU.logo = './../../assets/logo.png'
|
||||||
XRFMENU.morelabel = '⚡'
|
XRFMENU.morelabel = '⚡'
|
||||||
// add your menubuttons:
|
// add your menubuttons:
|
||||||
XRFMENU.html.push(`<a class="btn" aria-label="button" aria-description="help menu" onclick="window.showHelp()">💁 help?</a><br>`)
|
XRFMENU.html.push(`<a class="btn" aria-label="button" aria-description="about menu" onclick="window.showAbout()">💁 about</a><br>`)
|
||||||
showHelp = () => window.notify(`
|
showAbout = () => window.notify(`
|
||||||
<h1>💁 Hi there!</h1>
|
<h1>💁 Hi there!</h1>
|
||||||
|
|
||||||
|
|
||||||
This XR experience works on almost any device.<br>
|
This XR fragments experience works almost anywhere.<br>
|
||||||
Allowing rich audiovisual events with(out)<br>
|
Allowing rich audiovisual events with(out)<br>
|
||||||
VR/AR headsets (it's awesome though ♥️)<br>
|
VR/AR headsets (it's awesome though ♥️)<br>
|
||||||
<br>
|
<br>
|
||||||
<b>This uses only open standards:</b><br>
|
<b>This uses only open standards:</b><br>
|
||||||
📦 surf 3D models using URLs<br>
|
📦 surf 3D models using URLs<br>
|
||||||
🧑🤝🧑 <b>instant</b> meetings inside hyperlinked 3D models<br>
|
🧑🤝🧑 <b>instant</b> meetings inside hyperlinked 3D models<br>
|
||||||
🚫 no proprietary tech/game engines or platforms<br>
|
🚫 <b>zero proprietary</b> tech/game engines or platforms<br>
|
||||||
🙈 unhosted, privacy-friendly, avatar-agnostic scenes<br>
|
🙈 unhosted, privacy-friendly, avatar-agnostic scenes<br>
|
||||||
🔗 <a href="https://xrfragment.org" target="_blank">XR Fragments</a> for 3D hyper-linking & navigation<br>
|
🔗 <a href="https://xrfragment.org" target="_blank">XR Fragments</a> for 3D <b>hyper-linking</b> & navigation<br>
|
||||||
📷 Serverless & encrypted <a href="https://webrtc.org" target="_blank">P2P WebRTC</a> using <a href="https://github.com/dmotz/trystero" target="_blank">trystero</a><br>
|
📷 Serverless & encrypted <a href="https://webrtc.org" target="_blank">P2P WebRTC</a> using <a href="https://github.com/dmotz/trystero" target="_blank">trystero</a><br>
|
||||||
🦍 <a href="https://immersiveweb.dev" target="_blank">WebXR</a> using <a href="https://aframe.io" target="_blank">AFRAME</a> + <a href="https://three.org" target="_blank">Three.js</a><br>
|
🦍 <a href="https://immersiveweb.dev" target="_blank">WebXR</a> using <a href="https://aframe.io" target="_blank">AFRAME</a> + <a href="https://three.org" target="_blank">Three.js</a><br>
|
||||||
🙉 go selfhost <a href="https://github.com/coderofsalvation/xrfragment-helloworld">worlds-in-a-webpage</a><br>
|
🙉 go selfhost <a href="https://github.com/coderofsalvation/xrfragment-helloworld">worlds-in-a-webpage</a><br>
|
||||||
|
|
|
||||||
|
|
@ -62,6 +62,8 @@ window.AFRAME.registerComponent('xrf', {
|
||||||
let url = opts.xrf.string
|
let url = opts.xrf.string
|
||||||
let isLocal = url.match(/^#/)
|
let isLocal = url.match(/^#/)
|
||||||
let hasPos = url.match(/pos=/)
|
let hasPos = url.match(/pos=/)
|
||||||
|
let meeting = $('[meeting]') ? $('[meeting]').components['meeting'] : false
|
||||||
|
if(meeting) meeting.notifyTeleport(url)
|
||||||
if( isLocal && hasPos ){
|
if( isLocal && hasPos ){
|
||||||
// local teleports only
|
// local teleports only
|
||||||
let fastFadeMs = 200
|
let fastFadeMs = 200
|
||||||
|
|
|
||||||
|
|
@ -350,7 +350,7 @@ AFRAME.registerComponent('meeting', {
|
||||||
return this
|
return this
|
||||||
},
|
},
|
||||||
|
|
||||||
notifyTeleport: function(buttons){
|
notifyTeleport: function(url,buttons){
|
||||||
// send to network
|
// send to network
|
||||||
this.sendChat({
|
this.sendChat({
|
||||||
content: `${this.data.visitorname} teleported to ${this.roomname}`,
|
content: `${this.data.visitorname} teleported to ${this.roomname}`,
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue