neos-metaverse / neospublic Goto Github PK
View Code? Open in Web Editor NEWA public issue/wiki only repository for the NeosVR project
A public issue/wiki only repository for the NeosVR project
https://steamcommunity.com/app/740250/discussions/0/3211505894145549553/
--- it is possible to push buttons while moving a window (this sounds like a feature, and maybe it's good to be able to do it, but for instance, if the button is currently not in the users view, it is probably not the users intent to press it)
Each time I log into Neos, the main menu and keyboard are overlapping me. I have to step back to see and grab them and then find an optimal position for them. It would be really very nice if they remembered their position from session to session.
Need to add this before beta goes public, so people don't enter experiences and exit thinking there's nothing there, especially when there's really big assets.
While there is a flight mode within Neos, it's a bit confusing to use. The most recognized flight mode in use these days for VR is the way Google Earth uses it. Basically, point where you want to go and hit 'up' on the trackpad to fly forwards, or 'down' on the trackpad to fly backwards.
I think people would get this a bit more intuitively as it's a pretty common thing to have experienced this method of locomotion.
Many times while editing a world I've done something undesirable or moved something by accident and wished there were a way to undo that action.
I've seen a couple of requests now for snap turning. This would ideally be a turn of the user at about 45% or less when the right or left button of the thumbpad is pressed.
Pre-download assets for common experiences (such as the hub) into a special folder, which will be checked before they're download.
These files will be included in the public Steam channel and other distribution platforms and will significantly speed up initial loading of the common experiences and ease some load our own servers.
Implement animation system based on a timeline, where various events, curves, audio files and other elements can be placed to drive other elements in the world.
Steps to reproduce:
It would be nice if these weren't left in the hierarchy. I manually delete them currently, but that's just because I'm probably a bit too anal retentive about my scene hierarchy.
I think this is a bug, but maybe there's a reason to keep these? In any case, it's really low priority.
A special storage for arbitrary Neos objects - tools, world orbs, materials etc.
Can be brought up anywhere to extract or store items
Synchronized in the cloud for logged in users
Categories/folders for better organization
Preload it with basic tools so users don't have to hunt them around Neos
What should it look like?
Seen by other users? Private?
Extract duplicate items by default? (meaning explicit delete button) Use tool shelves for temporary transfers
I have a Tilt Brush model that I uploaded to Sketchfab. When I downloaded the gltf version and importing into Neos, nothing shows up in-world. The model is present in the object model via the development panel, and it does get a gizmo if selected, but the model does not show up.
Here is a link to where you can download this model: https://sketchfab.com/models/53a19edeff484cb19f26552d2a3a44e5#
While the login dialog and keyboard are private and local-only so cannot be seen by other users, it might still be possible to infer confidential information from the hand/controller movements, so as a precaution only allow its use in Local Home (automatically switch there?)
Allow loading a whole folder structure with music files that will play in sequence (or randomized) to allow for listening to music, DJing and so on.
The best way to implement this is probably load the file list, but not all of the actual files and always only keep two (or three) audio files loaded - the current one and the next one. This will both save memory and prevent from all the files being synchronized at once in case it's used in public space.
https://steamcommunity.com/app/740250/discussions/0/3211505894145549553/
--- when you are dragging something, hovering-events still trigger (You might still want this in some cases, such as drag-and-drop to the palette, but even then: only objects that can receive a drop event of the dragged type should trigger hovering during drag)
Embed Lua runtime for lightweight dynamic scripting at runtime.
Using the red developer tool tip, bring up the context menu, and turn on developer mode.
Notice that little T icons appear all over everything.
Hit the context menu and turn off developer mode.
Notice that the little T icons everywhere are still present.
Expected the little T icons to disappear.
Important node: These will be only soft restrictions, someone with some technical knowledge will be able to circumvent those if they'll really want to, but will prevent casual users from performing those actions if they're undesirable to a good experience.
Set of components for defining spawn areas and other spawn properties (such as spawning into a specific coordinate system).
The default spawn system will automatically pick one of the spawn areas and spawn the user within.
Add support to extracting metadata from loaded/imported textures in Neos and an easy way to read them using other scripts in Neos.
Should this be done in import selectively? Or should it be loaded as part of the texture data? (might have unnecessary overhead if done for all).
For some self-reflection.
Likely implement this as a texture provider, whose transform determines the mirroring plane and then use in conjunction with the right shader to render it out appropriately mapped, using standard texture asset references.
I'd like to add a special component for that to hold the licensing information and place it on the objects. Could be placed manually (via tool ideally) as well for things you make within Neos.
That'd also allow license-aware tools and objects. Like generating credits automatically from everything in the world. Or checking for license conflicts or simply pointing at object and showing UI that tells you who made it and what can you do with it.
It would be also automatically placed on the objects when they are imported from external libraries and API's.
Add support for physics rigidbody simulation and related functionality. With the BEPUv2 upgrade nearing completion, I'm updating this issue to better explain what will actually be coming with proper Physics Rigidbody simulation.
With the upgrade (#232) it is actually possible to get rigidbody-like behavior by unlocking rotation on the CharacterController. This is a lot of fun to play with, as it will mostly behave like actual rigidbody, but it's very important to understand its limitations.
This is because CharacterController under the hood is actually a rigidbody (typically with rotation simulation locked) with extra stuff for good character control. Now this extra stuff is part of what doesn't make them suitable for large scale simulations - they'll be glitchy, eat a lot of CPU and network bandwidth. They are optimized for different use-case:
Now if you understand these limitations, feel free to have fun with them in the meanwhile, before the full support actually comes. Neos is all about tinkering, toying around and messing with things and it will give you a bit of a taste of what will come.
Here are some examples of how the "proto-rigidbodies" behave:
https://youtu.be/Oz8q7_GUDV4
https://youtu.be/8dQZjtt9t-4
The full rigidbody support covered by this issue is a significant chunk of work that will come after the BEPUv2 upgrade completes. It will focus on following:
Make sure to also check the roadmap for physics support, we'll expand it with individual tasks once work begins on this (we're still finishing BEPUv2 upgrade at the moment, so it won't happen before then): https://github.com/Neos-Metaverse/NeosPublic/projects/19
When lasering a target object, I'd like to be able to move it farther away from me or closer to me. I currently must move my arm back and forward a lot for this, grabbing and letting go, or rely on teleportation, teleporting closer then grabbing, teleporting again to place where I want.
It would be a great usability improvement if I could instead swipe up on the thumb pad to move things further away from me, or swipe down to move the object closer to me.
What do you think?
It would be nice if instead of pulling in a model that has a material, then using the material gun to extract the material, if we could just import a material file (.mtl) into a world and it would appear as a material sphere which could then be placed into the material gun.
Use the model filename? With or without extension?
Show an indicator that importing is going on and some basic info about the phase of the import process.
This will allow things like drawing straight lines, grids, circles or anything else where the points can be constrained.
Using the existing point-snapping system (which is used for gizmos) will enhance the flexibility of the system, so any additions to the gizmo system for snapping can be utilized for brushes as well (and vice versa).
It's a little bit tricky aiming at gizmos inside objects right now. This should work in tandem with the highlighting system too, allowing to highlight the gizmo itself.
Observation: when using the inspector, some objects have a TON of properties on the right hand side. You can scroll through these easily enough with the cursor and swiping up and down.
Idea: If each major component on the right hand side was collapsible and expandable, sort of like the left-hand side of the inspector hierarchy, it would be easier to navigate objects with many component properties.
I've attached an image with the sections that I'm referring to. The pieces with the red arrows.
Create a tutorial that will go over the basic controls when users first launch Neos.
I'll allow to specify which "variant" of each asset to load and allows requesting them dynamically.
For textures this includes scales (e.g. mobile clients will load lower res variants) but also texture compression (ETC2 on mobile, DTX1/5 /BCx on desktop, Tegra devices...).
Another part of it is optimization based on scenarios. Say you're on a mobile connection (or a very slow one), so you tell Neos to prefer heavily compressed variants. So it'll load audio/video files with heavier compression, lower version textures or lossily compressed, same with meshes, which might have quantization errors, but significantly lower sizes.
On the other end you're a high-end nut, so you tell it to load 8K texture where available, losslesly compressed audio tracks and so on.
It's also one of the processing jobs that the cloud infrastructure will offer for the subscription/Neos credits. Recompressing your assets into different variants for different devices.
When importing small mp4 videos, I noticed that they seem to stop and stutter sporadically.
Expected them to play normally, never stopping, always looping.
I've created a room to demonstrate this called "trip.sirkitree" and submitted it to the hub so you can see what I mean.
Here is a sample mp4 file.
1.zip
When hanging out with MR-Alex yesterday, we noticed that video files have a streaming option, but audio files do not. Is this something that could be added in the future? I assume the option allows it to play as it downloads for the user vs having to download the full file all at once before playing, but I'm not sure. Just thought I'd log it since Alex brought it up.
I had this question, and so have others. Most VR experiences have these available within your controller menus. Neos replies on you to find them in-world and take them with you. This should be documented for new users.
noticed an issue when duplicating logix nodes that are attached already with wires.
after severing the wires the nodes seemed to not work correctly or were retaining false/null values
Integrate Neos with Discord, showing the current status, letting users to join in sessions and so on.
I imported a sound file, made it loop, and then duplicated it a bunch of times and added them to a bunch of models. The intent was that eeach sphere in the scene would have a low hum that you hear as you get closer to it. But it really started lagging render times. So I removed them and opted for just one ambient audio sound.
I don't know if adding lots of players is what did it, or if perhaps my wav file was too large and duplicating it many times was the problem.
Attaching the file I was using.
low-frequency-humming-noise.zip
The new method of using the material gun is the most user friendly IMHO.
This will allow to draw on walls, objects and other surfaces easily, which will be handy for many different brushes. For example the grass brush could be used to easily cover terrain with foliage or simple pen brushes could be used to draw on a flat surface like a board with this.
https://steamcommunity.com/app/740250/discussions/0/3211505894145549553/
Currently there is no way to hide the keyboard. You have to move it around to keep it out of your way which can be slightly awkward. It would be desirable to have a way to close the keyboard, and maybe re-summon it from a button on the main menu, or within the context menu.
Adjacent to this, it would be nice if the keyboard popped up in front of me when selecting any sort of text input, such as within the developer panel.
I've imported some models that I created in Blocks by Google. It seems that when I split up a face and add a different color to that one particular face (which I believe is saved as a vertex color) and then import to Neos, some of the colors show up as transparent.
I created a world called "household models.sirkitree" where you can see this. The models in question are the stove (black stove top burners are transparent) and the potted plant (lighter green highlight on the leaves is transparent).
Here are links to where you can download these models from Poly. I used the FBX version.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.