c-frame/aframe-gltf-model-plus

Walkable "Floor plan" a little more strict than from Spoke

jywarren opened this issue · 6 comments

I booted up a scene and found that the clearances for walkable floor were a bit more strict - possibly because the "avatar" is larger? Is there a way to relax these? (lol i didn't fit through a doorway).

Thank you!

Or alternatively when I run into this problem in Hubs i use the g hotkey to enable fly mode, then collisions are turned off.

Found a workaround, so low priority -- i can double-click to portal ahead quickly.

Noting the key commands are a little sticky - when i portal ahead, maybe if I haven't released AWDS keys, they get stuck, but pressing them again unsticks them. No big deal but in case others encounter this. TY!

Please note that some features may not be 100% the same than on hubs because I'm using community maintained aframe components as much as possible.

You can click (not double click) on the floor to move, it's using aframe-cursor-teleport.

Currently the navmesh is using Ada's simple-navmesh-constraint, as in the name, it's simple :D
You may be able to switch the navmesh engine to aframe-extras's nav-mesh component soon, I wrote a comment about that in
networked-aframe/naf-valid-avatars#28 (comment) but I'm not sure if it's better.
We also discussed of another navmesh alternative in c-frame/aframe-extras#441

You can add any shortcut you want in the shortcuts component I wrote in the example that toggle the waypoints with space.
I implemented the "g" shortcut to toggle fly mode on https://allocola.com/
You can add the following code if you want that:

          if (evt.code === "KeyG") {
            this.cameraRig = document.querySelector("#rig");
            if (this.cameraRig.getAttribute("movement-controls").fly) {
              this.cameraRig.setAttribute("movement-controls", "fly", false);
              if (this.cameraRig.hasAttribute("simple-navmesh-constraint")) {
                this.cameraRig.setAttribute("simple-navmesh-constraint", "enabled", true);
              }
            } else {
              this.cameraRig.setAttribute("movement-controls", "fly", true);
              if (this.cameraRig.hasAttribute("simple-navmesh-constraint")) {
                this.cameraRig.setAttribute("simple-navmesh-constraint", "enabled", false);
              }
            }
          }

evt.code === "KeyG" is good for azerty (French) and qwerty keyboard layout, it's the physical placement of the key on the keyboard. Otherwise letter g is evt.keyCode === 71.
For m shortcut to mute the mic, you definitely want to check the keyCode evt.keyCode === 77 and not the code because on azerty keyboard pressing key m gives code: 'Semicolon'.

I added the g shortcut in 9297b34

Thank you!!!