Overte open source metaverse platform.
Find a file
Phil Palmer 2179c153de VR fixes for: couldn't sit on the floor, wrong walk directions.
- Divided the option "Avatar leaning behavior" into two options that work more usefully: "Allow my avatar to stand" and "Allow my avatar to lean" (PreferencesDialog.cpp).  Made the necessary fixes so that the avatar can be set to stand only when the user is standing (more details below).
- The logic controlling the direction of MyAvatar's action motor is now centralised in calculateScaledDirection (was previously split between there and updateMotors).  calculateScaledDirection now returns a velocity in world space.
- CharacterController::FollowHelper now uses separate follow timers for rotation, horizontal and vertical (previously followed all three based on the longest of their follow times).  Where appropriate, FollowHelper can now snap immediately to the desired rotation/horizontal/vertical independently (see FOLLOW_TIME_IMMEDIATE_SNAP).
- FollowHelper::FollowType has therefore moved to CharacterController::FollowType.
- MyAvatar::FollowHelper::postPhysicsUpdate: If MyAvatar is not allowed to stand when the user is sitting, this now avoids recentring the body based on the head height.
- Removed Q_PROPERTY(MyAvatar::SitStandModelType, as the sitting/standing/leaning model uses different enums now (see setAllowAvatarStandingPreference, setAllowAvatarLeaningPreference).
- Removed Q_PROPERTY(bool isSitStandStateLocked which is no longer used, because we now always track the user's real-world sit/stand state, regardless of what we're doing with it.
- MyAvatar::FollowHelper::shouldActivateHorizontal: If MyAvatar is not allowed to lean, this now returns true to recentre the footing if the head is outside the base of support.
- MyAvatar::FollowHelper::shouldActivateHorizontalCG: If MyAvatar is not allowed to lean, this now always returns true to recentre the footing.  Rearranged to avoid computing values that weren't used depending on the conditions.  Resolved some duplicated code.
- MyAvatar::setUserRecenterModel previously set HMDLeanRecenterEnabled based on the chosen mode, but it got reset when getting out of a sit.  Now HMDLeanRecenterEnabled is only controlled by the scripts.
- Added Rig::getUnscaledHipsHeight (like getUnscaledEyeHeight).  Refactored a little to avoid duplicated code.  Added DEFAULT_AVATAR_HIPS_HEIGHT which is the value that Rig::getUnscaledHipsHeight returns when using the default avatar.
- Fix for recentring not behaving as requested by the user after getting up from click-to-sit (always behaving like 'Auto') : MyAvatar::endSit now passes false to centerBody for 'forceFollowYPos'.
- Fix for incorrect vertical position of the avatar and viewpoint after changing lean recentre mode while not standing in the real world: MyAvatar::setAllowAvatarStandingPreference now calls centerBody with false for 'forceFollowYPos'.
- computeHipsInSensorFrame: The code now matches the comments in that it only skips the dampening of the hips rotation if the centre-of-gravity model is being used.
2020-12-22 14:22:27 -05:00
.github/workflows Merge pull request #906 from vircadia/fix/update-references 2020-12-15 01:29:47 -05:00
android Final stragglers...? 2020-12-13 23:57:04 -05:00
assignment-client Revert "Revert "Split Local and owned Avatar Entity scripts into their own ScriptEngine"" 2020-11-16 21:20:25 -08:00
cmake Merge branch 'master' into fix/interface-console 2020-12-18 19:44:20 +13:00
debian Set OpenGL_GL_PREFERENCE to LEGACY 2020-10-13 20:13:45 +02:00
docs Add collision pick documentation on scaleWithParent option 2018-09-28 09:55:02 -07:00
domain-server Get most 'project-athena' -> 'vircadia' references. 2020-12-13 04:42:34 -05:00
ice-server Add support for metaverse API's with paths. 2020-09-15 20:07:00 -04:00
interface VR fixes for: couldn't sit on the floor, wrong walk directions. 2020-12-22 14:22:27 -05:00
launchers Update OSX folder icons to Vircadia. 2020-08-25 03:25:00 -04:00
libraries VR fixes for: couldn't sit on the floor, wrong walk directions. 2020-12-22 14:22:27 -05:00
pkg-scripts Get most 'project-athena' -> 'vircadia' references. 2020-12-13 04:42:34 -05:00
plugins Licensing headers. 2020-12-10 18:56:04 -05:00
screenshare Merge pull request #708 from vircadia/dependabot/npm_and_yarn/screenshare/yargs-parser-13.1.2 2020-12-10 17:59:15 -05:00
script-archive Update all scripts, script-archive scripts still broken. 2020-09-22 19:24:58 -04:00
scripts Get most 'project-athena' -> 'vircadia' references. 2020-12-13 04:42:34 -05:00
server-console Get most 'project-athena' -> 'vircadia' references. 2020-12-13 04:42:34 -05:00
tests Bunch of URL updates later... 2020-09-21 00:54:49 -04:00
tests-manual Bunch of URL updates later... 2020-09-21 00:54:49 -04:00
tools Merge branch 'master' into gha-master-ci 2020-10-29 17:32:53 -04:00
unpublishedScripts https hifi-production DomainContent -> vircadia-content 2020-10-07 19:45:10 -04:00
.clang-format Update clang-format ctor initializer list format 2018-02-22 09:30:47 -08:00
.editorconfig
.eslintrc.js Make chat open links in internal Web browser instead of custom window 2020-10-03 16:29:14 +13:00
.gitattributes New android toolchain 2017-09-19 13:45:12 -07:00
.gitignore ignores "VideoDecodeStats" in .gitignore 2019-12-07 22:26:31 -05:00
BUILD.md Update BUILD.md 2020-09-10 04:15:07 -04:00
BUILD_ANDROID.md Update BUILD_ANDROID.md 2020-12-13 03:07:49 -05:00
BUILD_LINUX.md Final stragglers...? 2020-12-13 23:57:04 -05:00
BUILD_LINUX_CHEATSHEET.md Lots of renamings, more to come. 2020-04-07 04:56:02 -04:00
BUILD_OSX.md Add FAQ to BUILD_OSX.md 2020-08-27 03:40:05 -04:00
BUILD_WIN.md Get most 'project-athena' -> 'vircadia' references. 2020-12-13 04:42:34 -05:00
CMakeGraphvizOptions.cmake Trying to fix QtQml/QtScript crashes 2017-06-22 16:39:57 -07:00
CMakeLists.txt Simplify code according to review 2020-12-16 16:50:54 +01:00
CODING_STANDARD.md Update description 2020-06-08 07:47:41 +12:00
CONTRIBUTING.md Remove artifact from resolving conflict 2020-12-16 18:37:19 -05:00
hifi_android.py Upgraded Oculus SDKs to latest 2020-12-15 00:04:59 -08:00
hifi_qt.py Get most 'project-athena' -> 'vircadia' references. 2020-12-13 04:42:34 -05:00
hifi_singleton.py Add FLock to lock files another way 2019-05-08 15:00:50 -07:00
hifi_utils.py fix missing url 2020-04-19 22:50:51 +02:00
hifi_vcpkg.py fix CR style error 2020-05-08 00:55:43 +02:00
INSTALLER.md Rename installer build guide 2020-10-18 14:44:33 +13:00
LICENSE Update LICENSE 2020-05-25 16:41:38 -04:00
prebuild.py Get most 'project-athena' -> 'vircadia' references. 2020-12-13 04:42:34 -05:00
README.md Merge branch 'master' into fix/interface-console 2020-12-18 19:44:20 +13:00
README_hifi.md Update README_hifi.md 2020-05-20 15:00:28 -04:00
VCPKG.md Adding new package guidance 2018-11-08 14:55:29 -08:00

Vircadia

What is this?

Vircadia is a 3D social software project seeking to incrementally bring about a truly free and open metaverse, in desktop and XR.

Download

Releases

View Releases here

How to build the Interface

For Windows

For Mac

For Linux

For Linux - Vircadia Builder

How to deploy a Server

For Windows and Linux

How to build a Server

For Linux - Vircadia Builder

How to generate an Installer

For Windows

For Linux - AppImage - Vircadia Builder

Boot to Metaverse: The Goal

Having a place to experience adventure, a place to relax with calm breath, that's a world to live in. An engine to support infinite combinations and possibilities of worlds without censorship and interruption, that's a metaverse. Finding a way to make infinite realities our reality is the dream.

Boot to Metaverse: The Technicals

Many developers have had personal combinations of High Fidelity from C++ modifications to different default scripts, all of which are lost to time as their fullest potential is never truly shared and propagated through the system.

The goal of this project is to achieve the metaverse dream through shared contribution and building. Setting goals that are achievable yet meaningful is key to making proper forward progress on the technical front whilst maintaining morale.

Why High Fidelity's Virtual Reality Platform?

Because of all the options, it is the only starting point that is open-source, cross-platform, fully VR integrated + fully desktop integrated with an aim for quality visuals and performance. It also provides a foundation to build from including components like entity management, full body IK, etc.

WebXR offers the open-source and decentralized aspect but does not have any of the full featured starting points such as avatars, IK, etc. which means that a lot of ground work will have to be laid to make something functional. Far more work will need to be done to create a truly seamless and extensive experience as well.

Platforms like NeosVR or VRChat are not viable from go due to their fundamental closed-source and centralized nature. A metaverse to live in cannot have the keys handed over to any singular entity, if any at all.

We need to do the best we can with what we've got and our best bet as open source developers is to not redesign the wheel if we can help it!

Contribution

A special thanks to the contributors of Vircadia.

Contribution