1) Does not give the message regarding not having permissions except for when first rezing the tool. ▶ Fixed - Added in a check for every time there is a collision between the parent-ator and another entity 2) Sound almost unhearable due to distortion ▶ Fixed - Changed audio to 16 bit mono 3) The Parent-ator model rezzes pointing at the user's face. Would probably be better to add 180 to START_POSITION.y then normalize. ▶ Fixed - Added 180 to START_ROTATION (instead fo START_POSITION) and normalized 4) The Parent-ator model floats away. Would suggest increasing linear damping from the default. Maybe go to 0.9 or more. ▶ Fixed - Added damping of 0.9 5) The face normals are inverted on the three rings surrounding the barrel of the Parent-ator model. ▶ Fixed - Normals flipped 6) Also if the user taps an object then releases and re-equips with the Parent-ator it continues to display "tap the child" but will set the object tapped first as the child of the first other object tapped after re-equipping. So the messages change from Tap the child to the "Yay" success message. ▶ Fixed - Re-equiping now resets the parent-ator. 7) Parenting can be broken with this. On occasions the Parentator seems to get out of sequence. With a group of objects eventually one or more can get orphaned. In effect (occasionally ) a single first tap can produce the success message. ▶ Believed to be fixed - I was unable to really reproduce the problem but the fix for the previous item should fix this too, I believe. 8) There is an error in the description on line 7 of parentator.js ▶ Fixed - Changed reference to pingpong gun to parent-ator 9) Equipping can fail with a smaller than normal avatar as the offsets are hard coded rather than scaled relative to the user's scale. ▶ Fixed - I realized I was adding the entity with larger dimensions than the model normally had. I've scaled it down to where it should be and I think this has solved the issue. |
||
---|---|---|
assignment-client | ||
cmake | ||
domain-server | ||
gvr-interface | ||
ice-server | ||
interface | ||
libraries | ||
plugins | ||
script-archive | ||
scripts | ||
server-console | ||
tests | ||
tools | ||
unpublishedScripts | ||
.editorconfig | ||
.eslintrc.js | ||
.gitattributes | ||
.gitignore | ||
BUILD.md | ||
BUILD_ANDROID.md | ||
BUILD_LINUX.md | ||
BUILD_OSX.md | ||
BUILD_WIN.md | ||
CMakeGraphvizOptions.cmake | ||
CMakeLists.txt | ||
CONTRIBUTING.md | ||
INSTALL.md | ||
LICENSE | ||
README.md |
High Fidelity (hifi) is an early-stage technology lab experimenting with Virtual Worlds and VR.
In this repository you'll find the source to many of the components in our alpha-stage virtual world. The project embraces distributed development and if you'd like to help, we'll pay you -- find out more at Worklist.net. If you find a small bug and have a fix, pull requests are welcome. If you'd like to get paid for your work, make sure you report the bug via a job on Worklist.net.
We're hiring! We're looking for skilled developers; send your resume to hiring@highfidelity.com
Chat with us
Come chat with us in our Gitter if you have any questions or just want to say hi!
Documentation
Documentation is available at docs.highfidelity.com, if something is missing, please suggest it via a new job on Worklist (add to the hifi-docs project).
There is also detailed documentation on our coding standards.
Build Instructions
All information required to build is found in the build guide.
Running Interface
When you launch interface, you will automatically connect to our default domain: "root.highfidelity.io".
If you don't see anything, make sure your preferences are pointing to root.highfidelity.io (set your domain via Cmnd+D/Cntrl+D), if you still have no luck it's possible our servers are simply down; if you're experiencing a major bug, let us know by adding an issue to this repository. Make sure to include details about your computer and how to reproduce the bug.
To move around in-world, use the arrow keys (and Shift + up/down to fly up or down) or W A S D, and E or C to fly up/down. All of the other possible options and features are available via menus in the Interface application.
Running your own servers
The assignment-client and domain-server are architectural components that will allow you to run the full stack of the virtual world.
In order to set up your own virtual world, you need to set up and run your own local "domain".
The domain-server gives a number different types of assignments to the assignment-client for different features: audio, avatars, voxels, particles, meta-voxels and models.
Follow the instructions in the build guide to build the various components.
From the domain-server build directory, launch a domain-server.
./domain-server
Then, run an assignment-client. The assignment-client uses localhost as its assignment-server and talks to it on port 40102 (the default domain-server port).
In a new Terminal window, run:
./assignment-client
Any target can be terminated with Ctrl-C (SIGINT) in the associated Terminal window.
This assignment-client will grab one assignment from the domain-server. You can tell the assignment-client what type you want it to be with the -t
option. You can also run an assignment-client that forks off n assignment-clients with the -n
option. The -min
and -max
options allow you to set a range of required assignment-clients, this allows you to have flexibility in the number of assignment-clients that are running. See --help
for more options.
./assignment-client --min 6 --max 20
To test things out you'll want to run the Interface client.
To access your local domain in Interface, open your Preferences -- on OS X this is available in the Interface menu, on Linux you'll find it in the File menu. Enter "localhost" in the "Domain server" field.
If everything worked you should see that you are connected to at least one server. Nice work!