-
Notifications
You must be signed in to change notification settings - Fork 247
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
BlockifyVR (Virtual Reality) #1732
base: master
Are you sure you want to change the base?
Conversation
that looks cool |
It looks cool on the flat screen right now, but it's not so great when you try it. You'd probably get motion sickness. I'm still working on it. |
sadly i dont think that's possible to stop this. |
This comment was marked as off-topic.
This comment was marked as off-topic.
Does this show the same scratch 3D perspective to both eyes? |
A-frame has stereoscopic rendering built in and I've enabled it in the rendering settings, so no. This fixes some issues with visualizing depth, so the eye offset allows your brain to process the image with more clarity. Even if the matrices aren't used in the renderer, it should properly use the correct eye offset. Why do you ask, just out of curiosity? If you'd like I could add a block that disables or enables this feature, in case the Scratcher wants to build that framework themselves, which I'd doubt. Keep in mind this is still a work in progress and most of the code is many months old so it's not the most efficient way to do VR. |
Yes. At one point I tried to extend my AR extension to support AR headsets and VR as well, but the multiple eye rendering has been the main thing holding me back. I was just curious to know how you solved it. |
I believe that there can be two XRViewerPose matrices for each eye if available, according to Mozilla Docs. You might want to look into that again. It'd be great if Augmented Reality could support AR headsets such as the Oculus Quest 3 in addition to just mobile touchscreen devices. There should be a views array that can do this. An example can be seen here. Just a suggestion though. I simply think having AR headsets would be a nice update. |
@Xeltalliv Your extensions are good quality and you seem to know what you're doing with WebXR. I've looked at the code like 100 times. Do you mind taking a peek at the left-controller-manager and right-controller-manager A-frame components? Pressing any button significantly drops the FPS even without calling the event hat block. Additionally, pressing any button on the right controller returns its left controller counterparts except for X, Y, A, and B on Oculus Quest. Just asking for another pair of eyes, that's all. I've asked other developers I know and I've asked ChatGPT and I've referenced the A-frame docs and everything looks fine to me, I just can't narrow down the issue. |
I'll take a look when I have time. Thought it will probably be hard because the only kind of VR I have access to is phone-based 3DOF no controller VR. Also, do you mind giving some links, so that I can faster figure out where to look? |
Ok, no problem! I wasn't asking you to test the extension, and Google Cardboard-like devices aren't supported by it anyway, so you're fine, don't worry about it. As for the links, do you mean the XRViewerPose Mozilla Developer Docs links or the links to my controller code? Because as of right now the latest version of my extension is only available on private GitHub repo accessible only to me. You could always just view the added BlockifyVR.js commit here and scroll down to the [hand]-controller-component blocks of code. Just a note though, it does include the entire minified A-frame library, so it might lag your browser a bit. |
As for VR testing, you wouldn't really need a VR headset. I've used Meta Quest's Immersive Web Emulator extension for testing when I didn't care to load up the entire headset. |
ah yes, I remember seeing a trailer for this on scratch. I wanted to help, but now I can't |
nvm I think I can |
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as resolved.
Hi siskka7 it's me Thebloxers998 |
This comment was marked as resolved.
This comment was marked as resolved.
Ok |
I'm committed to keeping you guys updated, so here we go again: |
Nice 👍 |
Ideas I have Block: animate [object] with [animation] |
You could use keyframes |
Just remember, it will take a long time! |
Those ideas will not be added. This extension isn't a 3D engine, it's a framework for integrating VR functionality into other already existing 3D engines. Because of this, collision detection and animations should be managed by the project, not the extension. |
Fixes multiple issues where attempting to create a my block or change editor settings crashed the page. Also changes some controller connected blocks and adds a new when controller connected event hat.
I think you can add key simulation to controlers |
And if vr is in standby? |
??? |
Let's try to avoid minuscule feature updates while in beta unless they improve the core functionality of the extension, like button touch detection. For now I'm focused on bug fixing, optimizations, and preparing for release. |
Change display resolution that could make something faster idk or turbomode mode |
power button |
Progress UpdateI know you’re patiently waiting, but I’m taking longer than expected to complete my job. I’m finalizing some things and working on a major issue before moving into release candidate mode. I hope to do this before the end of the year, but no promises. I’ve added blocks for managing rendering settings, including high refresh rate, stereoscopy, foveation level, and exposure. The last exposure option mitigates an issue where the immersive experience stage texture was brighter than the original source image. I’m still testing, so there’s no commit yet. It’ll likely be several more weeks (or months) before we open this PR for review. The plan is to prepare this release as soon as possible without losing my sanity. Once ready, the PR will be opened for review. During the review period, the version will be v1.0-release-candidate. Once approved, it’ll be v1.0 (the first public release). To the reviewers: TL;DR: I'm still working on it and making updates, but it’ll take a bit longer than expected. |
I think I may have found a theoretically plausible solution to the display scaling issues, but I'll have to check it out tomorrow. More likely it won't work than it will, but it's worth a shot. |
i have a simple idea from Static Dropdown to Circle Dropdown (from square to circle dropdown ).for easier coding.in circele dropdown i can put variables in it. |
Some blocks have these, other blocks do not. For example, button blocks do, but enter/exit VR does not. This really depends on the kinds of functions the blocks do and when a variable would be most needed. If you have specific blocks that need reporter input capabilities, let me know, I'll add it if I deem it necessary. |
I'm still working on attempting to resolve this issue. I've already made several different tests of probable solutions and none of them worked. I'm back to the drawing board and will need to take a short break before I put my brain cells to work again. |
tell when you will start work |
Probably after Christmas break. I just need a week or two to clear the fog in my brain and then I'll get back to it. |
@Thebloxers998 reviews aren't necessary yet, but in-depth and informative reviews may become helpful during release candidate phase. I'm working on that big bug still and adding controller vibrations. It'll be a bit. Don't know how much longer it'll be. |
will be the 3D engine and 3D physics extension early access? |
You didn't need to ping me then |
and you use chatgpt to help you or you want to do it 100% yourself |
Noted
depends. ChatGPT doesn't really help much with these complicated issues and I don't generally prefer to use it to write Turbowarp extensions as that's not it's specialty but it can help with some minor things |
The 3D engine will not be early access and should only be available upon release. The 3D physics extension will not technically be early access but there may be a period of time while people have access to unstable versions during the Pull Request stage, similar to how this VR extension is now. Technically, BlockifyVR isn't early access either but it is how it has to be. |
This is a very-much-still-work-in-progress Virtual Reality extension I've been working on since January of 2023.
The end goal is to have:
Right now, it meets most of these standards, but there's always room for improvement.
Here are some things to note:
Upcoming release plan:
v1.0-pre-alpha: Earliest version, showcased in the video above. Minimal functionality, proof-of-concept version. Not available here. Not open source.v1.0-alpha: work-in-progress. Expect significant bugs and poor performance. Should not be used.v1.0-beta: Current version. Cross-platform compatibility, major bug fixes, and optimizations have been added.
v1.0-release-candidate: Feature complete. Meets standards of full release with minimal issues, includes preparations for full release. This means gallery thumbnail, sample project, documentation, etc.
v1.0: First release. Feature complete and meets all standards of great performance, very few issues, cross-platform compatibility, and intuitive design.
v1.5: Bugfixes and optimizations. Possibly a small feature or change, such as controller vibrations.
v2.0: Big update. Most likely something like hand tracking support for some platforms. Also will include some minor bugfixes and optimizations.
v2.2: Bugfixes and optimizations.
Active Development
v1.0-beta