Merge branch 'master' of https://github.com/kasenvr/project-athena into feature/gha_vircadia

This commit is contained in:
Thijs Wenker 2020-05-07 11:07:28 +02:00
commit 8a76753135
29 changed files with 110 additions and 72 deletions

View file

@ -82,15 +82,15 @@
* <p><strong>Note:</strong> This property will automatically be set to true if the Controller system has valid facial
* blend shape actions.</p>
* @property {boolean} hasProceduralBlinkFaceMovement=true - <code>true</code> if avatars blink automatically by animating
* facial blend shapes, <code>false</code> if automatic blinking is disabled. Set this property to <code>false</code> if
* you wish to fully control the blink facial blend shapes via the {@link MyAvatar.setBlendshape} method.
* facial blend shapes, <code>false</code> if automatic blinking is disabled. Set to <code>false</code> to fully control
* the blink facial blend shapes via the {@link MyAvatar.setBlendshape} method.
* @property {boolean} hasProceduralEyeFaceMovement=true - <code>true</code> if the facial blend shapes for an avatar's eyes
* adjust automatically as the eyes move, <code>false</code> if this automatic movement is disabled. Set this property
* to <code>true</code> to prevent the iris from being obscured by the upper or lower lids. Set this property to
* <code>false</code> if you wish to fully control the eye blend shapes via the {@link MyAvatar.setBlendshape} method.
* to <code>true</code> to prevent the iris from being obscured by the upper or lower lids. Set to <code>false</code> to
* fully control the eye blend shapes via the {@link MyAvatar.setBlendshape} method.
* @property {boolean} hasAudioEnabledFaceMovement=true - <code>true</code> if the avatar's mouth blend shapes animate
* automatically based on detected microphone input, <code>false</code> if this automatic movement is disabled. Set
* this property to <code>false</code> if you wish to fully control the mouth facial blend shapes via the
* this property to <code>false</code> to fully control the mouth facial blend shapes via the
* {@link MyAvatar.setBlendshape} method.
*
* @example <caption>Create a scriptable avatar.</caption>

View file

@ -7,7 +7,7 @@ MessageBox {
popup.onButton2Clicked = callback;
popup.titleText = 'Specify Avatar URL'
popup.bodyText = 'This will not overwrite your existing favorite if you are wearing one.<br>' +
'<a href="https://docs.projectathena.dev/create/avatars/create-avatars.html">' +
'<a href="https://docs.vircadia.dev/create/avatars.html">' +
'Learn to make a custom avatar by opening this link on your desktop.' +
'</a>'
popup.inputText.visible = true;

View file

@ -154,12 +154,12 @@ class MyAvatar : public Avatar {
* <p><strong>Note:</strong> This property will automatically be set to <code>true</code> if the controller system has
* valid facial blend shape actions.</p>
* @property {boolean} hasProceduralBlinkFaceMovement=true - <code>true</code> if avatars blink automatically by animating
* facial blend shapes, <code>false</code> if automatic blinking is disabled. Set this property to <code>false</code>
* to fully control the blink facial blend shapes via the {@link MyAvatar.setBlendshape} method.
* facial blend shapes, <code>false</code> if automatic blinking is disabled. Set to <code>false</code> to fully control
* the blink facial blend shapes via the {@link MyAvatar.setBlendshape} method.
* @property {boolean} hasProceduralEyeFaceMovement=true - <code>true</code> if the facial blend shapes for an avatar's eyes
* adjust automatically as the eyes move, <code>false</code> if this automatic movement is disabled. Set this property
* to <code>true</code> to prevent the iris from being obscured by the upper or lower lids. Set this property to
* <code>false</code> to fully control the eye blend shapes via the {@link MyAvatar.setBlendshape} method.
* to <code>true</code> to prevent the iris from being obscured by the upper or lower lids. Set to <code>false</code> to
* fully control the eye blend shapes via the {@link MyAvatar.setBlendshape} method.
* @property {boolean} hasAudioEnabledFaceMovement=true - <code>true</code> if the avatar's mouth blend shapes animate
* automatically based on detected microphone input, <code>false</code> if this automatic movement is disabled. Set
* this property to <code>false</code> to fully control the mouth facial blend shapes via the
@ -654,7 +654,7 @@ public:
* <p>Note: When using pre-built animation data, it's critical that the joint orientation of the source animation and target
* rig are equivalent, since the animation data applies absolute values onto the joints. If the orientations are different,
* the avatar will move in unpredictable ways. For more information about avatar joint orientation standards, see
* <a href="https://docs.projectathena.dev/create/avatars/avatar-standards.html">Avatar Standards</a>.</p>
* <a href="https://docs.vircadia.dev/create/avatars/avatar-standards.html">Avatar Standards</a>.</p>
* @function MyAvatar.overrideAnimation
* @param {string} url - The URL to the animation file. Animation files may be in glTF or FBX format, but only need to
* contain the avatar skeleton and animation data. glTF models may be in JSON or binary format (".gltf" or ".glb" URLs
@ -665,7 +665,7 @@ public:
* @param {number} firstFrame - The frame to start the animation at.
* @param {number} lastFrame - The frame to end the animation at.
* @example <caption> Play a clapping animation on your avatar for three seconds. </caption>
* var ANIM_URL = "https://s3.amazonaws.com/hifi-public/animations/ClapAnimations/ClapHands_Standing.fbx";
* var ANIM_URL = "https://apidocs.vircadia.dev/models/ClapHands_Standing.fbx";
* MyAvatar.overrideAnimation(ANIM_URL, 30, true, 0, 53);
* Script.setTimeout(function () {
* MyAvatar.restoreAnimation();
@ -688,7 +688,7 @@ public:
* @param {number} firstFrame - The frame to start the animation at.
* @param {number} lastFrame - The frame to end the animation at.
* @example <caption> Override left hand animation for three seconds.</caption>
* var ANIM_URL = "https://s3.amazonaws.com/hifi-public/animations/ClapAnimations/ClapHands_Standing.fbx";
* var ANIM_URL = "https://apidocs.vircadia.dev/models/ClapHands_Standing.fbx";
* MyAvatar.overrideHandAnimation(isLeft, ANIM_URL, 30, true, 0, 53);
* Script.setTimeout(function () {
* MyAvatar.restoreHandAnimation();
@ -705,7 +705,7 @@ public:
* animation, this function has no effect.</p>
* @function MyAvatar.restoreAnimation
* @example <caption> Play a clapping animation on your avatar for three seconds. </caption>
* var ANIM_URL = "https://s3.amazonaws.com/hifi-public/animations/ClapAnimations/ClapHands_Standing.fbx";
* var ANIM_URL = "https://apidocs.vircadia.dev/models/ClapHands_Standing.fbx";
* MyAvatar.overrideAnimation(ANIM_URL, 30, true, 0, 53);
* Script.setTimeout(function () {
* MyAvatar.restoreAnimation();
@ -722,7 +722,7 @@ public:
* @function MyAvatar.restoreHandAnimation
* @param isLeft {boolean} Set to true if using the left hand
* @example <caption> Override left hand animation for three seconds. </caption>
* var ANIM_URL = "https://s3.amazonaws.com/hifi-public/animations/ClapAnimations/ClapHands_Standing.fbx";
* var ANIM_URL = "https://apidocs.projectathena.dev/models/ClapHands_Standing.fbx";
* MyAvatar.overrideHandAnimation(isLeft, ANIM_URL, 30, true, 0, 53);
* Script.setTimeout(function () {
* MyAvatar.restoreHandAnimation();
@ -780,7 +780,7 @@ public:
* hanging at its sides when it is not moving, the avatar will stand and clap its hands. Note that just as it did before, as soon as the avatar
* starts to move, the animation will smoothly blend into the walk animation used by the "walkFwd" animation role.</caption>
* // An animation of the avatar clapping its hands while standing. Restore default after 30s.
* var ANIM_URL = "https://s3.amazonaws.com/hifi-public/animations/ClapAnimations/ClapHands_Standing.fbx";
* var ANIM_URL = "https://apidocs.projectathena.dev/models/ClapHands_Standing.fbx";
* MyAvatar.overrideRoleAnimation("idleStand", ANIM_URL, 30, true, 0, 53);
* Script.setTimeout(function () {
* MyAvatar.restoreRoleAnimation();
@ -1793,15 +1793,15 @@ public:
/**jsdoc
* Turns the avatar's head until it faces the target point within a +90/-90 degree range.
* Once this method is called, API calls will have full control of the head for a limited time.
* If this method is not called for 2 seconds, the engine will regain control of the head.
* Once this method is called, API calls have full control of the head for a limited time.
* If this method is not called for 2 seconds, the engine regains control of the head.
* @function MyAvatar.setHeadLookAt
* @param {Vec3} lookAtTarget - The target point in world coordinates.
*/
Q_INVOKABLE void setHeadLookAt(const glm::vec3& lookAtTarget);
/**jsdoc
* Returns the current target point of the head's look direction in world coordinates.
* Gets the current target point of the head's look direction in world coordinates.
* @function MyAvatar.getHeadLookAt
* @returns {Vec3} The head's look-at target in world coordinates.
*/
@ -1815,7 +1815,7 @@ public:
/**jsdoc
* Forces the avatar's eyes to look at a specified location. Once this method is called, API calls
* have full control of the eyes for a limited time. If this method is not called for two seconds,
* full control of the eyes for a limited time. If this method is not called for 2 seconds,
* the engine regains control of the eyes.
* @function MyAvatar.setEyesLookAt
* @param {Vec3} lookAtTarget - The target point in world coordinates.
@ -1823,7 +1823,7 @@ public:
Q_INVOKABLE void setEyesLookAt(const glm::vec3& lookAtTarget);
/**jsdoc
* Returns the current target point of the eyes look direction in world coordinates.
* Gets the current target point of the eyes look direction in world coordinates.
* @function MyAvatar.getEyesLookAt
* @returns {Vec3} The eyes' look-at target in world coordinates.
*/
@ -2051,7 +2051,8 @@ public slots:
float getGravity();
/**jsdoc
* Moves the avatar to a new position and/or orientation in the domain, while taking into account Avatar leg-length.
* Moves the avatar to a new position and/or orientation in the domain, with safe landing, while taking into account avatar
* leg length.
* @function MyAvatar.goToFeetLocation
* @param {Vec3} position - The new position for the avatar, in world coordinates.
* @param {boolean} [hasOrientation=false] - Set to <code>true</code> to set the orientation of the avatar.
@ -2076,14 +2077,14 @@ public slots:
bool hasOrientation = false, const glm::quat& newOrientation = glm::quat(),
bool shouldFaceLocation = false, bool withSafeLanding = true);
/**jsdoc
* Moves the avatar to a new position and (optional) orientation in the domain.
* Moves the avatar to a new position and (optional) orientation in the domain, with safe landing.
* @function MyAvatar.goToLocation
* @param {MyAvatar.GoToProperties} target - The goto target.
*/
void goToLocation(const QVariant& properties);
/**jsdoc
* Moves the avatar to a new position and then enables collisions.
* Moves the avatar to a new position, with safe landing, and enables collisions.
* @function MyAvatar.goToLocationAndEnableCollisions
* @param {Vec3} position - The new position for the avatar, in world coordinates.
*/

View file

@ -325,7 +325,7 @@ public slots:
* @param {number} [aspectRatio=0] - The width/height ratio of the snapshot required. If the value is <code>0</code>, the
* full resolution is used (window dimensions in desktop mode; HMD display dimensions in HMD mode), otherwise one of the
* dimensions is adjusted in order to match the aspect ratio.
* @param {string} [filename=""] - If a filename is not provided, the image is saved as "hifi-snap-by-&lt;user
* @param {string} [filename=""] - If a filename is not provided, the image is saved as "vircadia-snap-by-&lt;user
* name&gt;-on-YYYY-MM-DD_HH-MM-SS".
* <p>Still images are saved in JPEG or PNG format according to the extension provided &mdash; <code>".jpg"</code>,
* <code>".jpeg"</code>, or <code>".png"</code> &mdash; or if not provided then in JPEG format with an extension of
@ -364,7 +364,7 @@ public slots:
* @function Window.takeSecondaryCameraSnapshot
* @param {boolean} [notify=true] - This value is passed on through the {@link Window.stillSnapshotTaken|stillSnapshotTaken}
* signal.
* @param {string} [filename=""] - If a filename is not provided, the image is saved as "hifi-snap-by-&lt;user
* @param {string} [filename=""] - If a filename is not provided, the image is saved as "vircadia-snap-by-&lt;user
* name&gt;-on-YYYY-MM-DD_HH-MM-SS".
* <p>Images are saved in JPEG or PNG format according to the extension provided &mdash; <code>".jpg"</code>,
* <code>".jpeg"</code>, or <code>".png"</code> &mdash; or if not provided then in JPEG format with an extension of
@ -383,7 +383,7 @@ public slots:
* otherwise it is saved as an equirectangular image.
* @param {boolean} [notify=true] - This value is passed on through the {@link Window.stillSnapshotTaken|stillSnapshotTaken}
* signal.
* @param {string} [filename=""] - If a filename is not provided, the image is saved as "hifi-snap-by-&lt;user
* @param {string} [filename=""] - If a filename is not provided, the image is saved as "vircadia-snap-by-&lt;user
* name&gt;-on-YYYY-MM-DD_HH-MM-SS".
* <p>Images are saved in JPEG or PNG format according to the extension provided &mdash; <code>".jpg"</code>,
* <code>".jpeg"</code>, or <code>".png"</code> &mdash; or if not provided then in JPEG format with an extension of

View file

@ -145,7 +145,7 @@ void InteractiveWindow::emitMainWindowResizeEvent() {
* @property {InteractiveWindow.Flags} [additionalFlags=0] - Customizes window behavior.
* @property {InteractiveWindow.OverrideFlags} [overrideFlags=0] - Customizes window controls.
* @property {InteractiveWindow.RelativePositionAnchor} [relativePositionAnchor] - he anchor for the
* @property {InteractiveWindow.RelativePositionAnchor} [relativePositionAnchor] - The anchor for the
* <code>relativePosition</code>, if used.
* @property {Vec2} [relativePosition] - The position of the window, relative to the <code>relativePositionAnchor</code>, in
* pixels. Excludes the window frame.

View file

@ -42,9 +42,9 @@
#include "Snapshot.h"
#include "SnapshotUploader.h"
// filename format: hifi-snap-by-%username%-on-%date%_%time%_@-%location%.jpg
// filename format: vircadia-snap-by-%username%-on-%date%_%time%_@-%location%.jpg
// %1 <= username, %2 <= date and time, %3 <= current location
const QString FILENAME_PATH_FORMAT = "hifi-snap-by-%1-on-%2.jpg";
const QString FILENAME_PATH_FORMAT = "vircadia-snap-by-%1-on-%2.jpg";
const QString DATETIME_FORMAT = "yyyy-MM-dd_hh-mm-ss";
const QString SNAPSHOTS_DIRECTORY = "Snapshots";
const QString URL = "highfidelity_url";

View file

@ -1925,7 +1925,7 @@ void Avatar::setParentJointIndex(quint16 parentJointIndex) {
* @typedef {object} SkeletonJoint
* @property {string} name - Joint name.
* @property {number} index - Joint index.
* @property {number} parentIndex - Index of this joint's parent (-1 if no parent).
* @property {number} parentIndex - Index of this joint's parent (<code>-1</code> if no parent).
*/
QList<QVariant> Avatar::getSkeleton() {
SkeletonModelPointer skeletonModel = _skeletonModel;

View file

@ -442,7 +442,7 @@ public:
void setOrientationViaScript(const glm::quat& orientation) override;
/**jsdoc
* Gets the ID of the entity of avatar that the avatar is parented to.
* Gets the ID of the entity or avatar that the avatar is parented to.
* @function MyAvatar.getParentID
* @returns {Uuid} The ID of the entity or avatar that the avatar is parented to. {@link Uuid(0)|Uuid.NULL} if not parented.
*/
@ -450,7 +450,7 @@ public:
Q_INVOKABLE virtual const QUuid getParentID() const override { return SpatiallyNestable::getParentID(); }
/**jsdoc
* Sets the ID of the entity of avatar that the avatar is parented to.
* Sets the ID of the entity or avatar that the avatar is parented to.
* @function MyAvatar.setParentID
* @param {Uuid} parentID - The ID of the entity or avatar that the avatar should be parented to. Set to
* {@link Uuid(0)|Uuid.NULL} to unparent.

View file

@ -19,7 +19,7 @@
/**jsdoc
* Information about an avatar.
*
* <p>Created using {@link MyAvatar.getTargetAvatar} or {@link AvatarList.getAvatar}.</p>
* <p>Create using {@link MyAvatar.getTargetAvatar} or {@link AvatarList.getAvatar}.</p>
*
* @class ScriptAvatar
* @hideconstructor
@ -87,7 +87,7 @@ public slots:
/**jsdoc
* Gets the default rotation of a joint in the avatar relative to its parent.
* <p>For information on the joint hierarchy used, see
* <a href="https://docs.highfidelity.com/create/avatars/avatar-standards.html">Avatar Standards</a>.</p>
* <a href="https://docs.vircadia.dev/create/avatars/avatar-standards.html">Avatar Standards</a>.</p>
* @function ScriptAvatar.getDefaultJointRotation
* @param {number} index - The joint index.
* @returns {Quat} The default rotation of the joint if avatar data are available and the joint index is valid, otherwise
@ -99,7 +99,7 @@ public slots:
* Gets the default translation of a joint in the avatar relative to its parent, in model coordinates.
* <p><strong>Warning:</strong> These coordinates are not necessarily in meters.</p>
* <p>For information on the joint hierarchy used, see
* <a href="https://docs.highfidelity.com/create/avatars/avatar-standards.html">Avatar Standards</a>.</p>
* <a href="https://docs.vircadia.dev/create/avatars/avatar-standards.html">Avatar Standards</a>.</p>
* @function ScriptAvatar.getDefaultJointTranslation
* @param {number} index - The joint index.
* @returns {Vec3} The default translation of the joint (in model coordinates) if avatar data are available and the joint
@ -152,7 +152,7 @@ public slots:
/**jsdoc
* Gets the ID of the entity of avatar that the avatar is parented to.
* Gets the ID of the entity or avatar that the avatar is parented to.
* @function ScriptAvatar.getParentID
* @returns {Uuid} The ID of the entity or avatar that the avatar is parented to. {@link Uuid(0)|Uuid.NULL} if not parented
* or avatar data aren't available.

View file

@ -538,12 +538,12 @@ class AvatarData : public QObject, public SpatiallyNestable {
* <p><strong>Note:</strong> This property will automatically be set to <code>true</code> if the controller system has
* valid facial blend shape actions.</p>
* @property {boolean} hasProceduralBlinkFaceMovement=true - <code>true</code> if avatars blink automatically by animating
* facial blend shapes, <code>false</code> if automatic blinking is disabled. Set this property to <code>false</code>
* to fully control the blink facial blend shapes via the {@link Avatar.setBlendshape} method.
* facial blend shapes, <code>false</code> if automatic blinking is disabled. Set to <code>false</code> to fully control
* the blink facial blend shapes via the {@link Avatar.setBlendshape} method.
* @property {boolean} hasProceduralEyeFaceMovement=true - <code>true</code> if the facial blend shapes for an avatar's eyes
* adjust automatically as the eyes move, <code>false</code> if this automatic movement is disabled. Set this property
* to <code>true</code> to prevent the iris from being obscured by the upper or lower lids. Set this property to
* <code>false</code> to fully control the eye blend shapes via the {@link Avatar.setBlendshape} method.
* to <code>true</code> to prevent the iris from being obscured by the upper or lower lids. Set to <code>false</code> to
* fully control the eye blend shapes via the {@link Avatar.setBlendshape} method.
* @property {boolean} hasAudioEnabledFaceMovement=true - <code>true</code> if the avatar's mouth blend shapes animate
* automatically based on detected microphone input, <code>false</code> if this automatic movement is disabled. Set
* this property to <code>false</code> to fully control the mouth facial blend shapes via the
@ -1274,7 +1274,7 @@ public:
* <code>null</code> to remove all attachments.
* @deprecated This function is deprecated and will be removed. Use avatar entities instead.
* @example <caption>Remove a hat attachment if your avatar is wearing it.</caption>
* var hatURL = "https://s3.amazonaws.com/hifi-public/tony/cowboy-hat.fbx";
* var hatURL = "https://apidocs.vircadia.dev/models/cowboy-hat.fbx";
* var attachments = MyAvatar.getAttachmentData();
*
* for (var i = 0; i < attachments.length; i++) {
@ -1311,7 +1311,7 @@ public:
* @deprecated This function is deprecated and will be removed. Use avatar entities instead.
* @example <caption>Attach a cowboy hat to your avatar's head.</caption>
* var attachment = {
* modelURL: "https://s3.amazonaws.com/hifi-public/tony/cowboy-hat.fbx",
* modelURL: "https://apidocs.vircadia.dev/models/cowboy-hat.fbx",
* jointName: "Head",
* translation: {"x": 0, "y": 0.25, "z": 0},
* rotation: {"x": 0, "y": 0, "z": 0, "w": 1},
@ -1542,7 +1542,7 @@ signals:
void sessionDisplayNameChanged();
/**jsdoc
* Triggered when the avatar's model (i.e., <code>skeletonModelURL</code> property value) is changed.
* Triggered when the avatar's model (i.e., <code>skeletonModelURL</code> property value) changes.
* @function Avatar.skeletonModelURLChanged
* @returns {Signal}
* @example <caption>Report when your avatar's skeleton model changes.</caption>

View file

@ -117,7 +117,7 @@ public:
/**jsdoc
* Gets the rotation of a joint relative to its parent. For information on the joint hierarchy used, see
* <a href="https://docs.highfidelity.com/create/avatars/avatar-standards.html">Avatar Standards</a>.
* <a href="https://docs.vircadia.dev/create/avatars/avatar-standards.html">Avatar Standards</a>.
* @function ScriptAvatar.getJointRotation
* @param {number} index - The index of the joint.
* @returns {Quat} The rotation of the joint relative to its parent, or {@link Quat(0)|Quat.IDENTITY} if the avatar data
@ -129,7 +129,7 @@ public:
* Gets the translation of a joint relative to its parent, in model coordinates.
* <p><strong>Warning:</strong> These coordinates are not necessarily in meters.</p>
* <p>For information on the joint hierarchy used, see
* <a href="https://docs.highfidelity.com/create/avatars/avatar-standards.html">Avatar Standards</a>.</p>
* <a href="https://docs.vircadia.dev/create/avatars/avatar-standards.html">Avatar Standards</a>.</p>
* @function ScriptAvatar.getJointTranslation
* @param {number} index - The index of the joint.
* @returns {Vec3} The translation of the joint relative to its parent, in model coordinates, or {@link Vec3(0)|Vec3.ZERO}
@ -139,7 +139,7 @@ public:
/**jsdoc
* Gets the rotation of a joint relative to its parent. For information on the joint hierarchy used, see
* <a href="https://docs.highfidelity.com/create/avatars/avatar-standards.html">Avatar Standards</a>.
* <a href="https://docs.vircadia.dev/create/avatars/avatar-standards.html">Avatar Standards</a>.
* @function ScriptAvatar.getJointRotation
* @param {string} name - The name of the joint.
* @returns {Quat} The rotation of the joint relative to its parent, or {@link Quat(0)|Quat.IDENTITY} if the avatar data
@ -151,7 +151,7 @@ public:
* Gets the translation of a joint relative to its parent, in model coordinates.
* <p><strong>Warning:</strong> These coordinates are not necessarily in meters.</p>
* <p>For information on the joint hierarchy used, see
* <a href="https://docs.highfidelity.com/create/avatars/avatar-standards.html">Avatar Standards</a>.</p>
* <a href="https://docs.vircadia.dev/create/avatars/avatar-standards.html">Avatar Standards</a>.</p>
* @function ScriptAvatar.getJointTranslation
* @param {number} name - The name of the joint.
* @returns {Vec3} The translation of the joint relative to its parent, in model coordinates, or {@link Vec3(0)|Vec3.ZERO}
@ -248,7 +248,7 @@ signals:
void sessionDisplayNameChanged();
/**jsdoc
* Triggered when the avatar's model (i.e., <code>skeletonModelURL</code> property value) is changed.
* Triggered when the avatar's model (i.e., <code>skeletonModelURL</code> property value) changes.
* @function ScriptAvatar.skeletonModelURLChanged
* @returns {Signal}
*/

View file

@ -1036,8 +1036,8 @@ EntityPropertyFlags EntityItemProperties::getChangedProperties() const {
* type: "Model",
* position: Vec3.sum(MyAvatar.position, Vec3.multiplyQbyV(MyAvatar.orientation, { x: 0, y: 0.75, z: -2 })),
* rotation: MyAvatar.orientation,
* modelURL: "http://content.highfidelity.com/seefo/production/puck-attach/vive_tracker_puck.obj",
* dimensions: { x: 0.0945, y: 0.0921, z: 0.0423 },
* modelURL: "https://apidocs.vircadia.dev/models/cowboy-hat.fbx",
* dimensions: { x: 0.8569, y: 0.3960, z: 1.0744 },
* lifetime: 300 // Delete after 5 minutes.
* });
*/

View file

@ -434,7 +434,7 @@ namespace scriptable {
* @property {string} [glossMap] - The URL of the gloss texture image.
* Only use one of <code>roughnessMap</code> and <code>glossMap</code>.
* <code>"hifi_pbr"</code> model only.
* @property {string} [normalMa]p - The URL of the normal texture image.
* @property {string} [normalMap] - The URL of the normal texture image.
* If <code>"fallthrough"</code> then it and <code>bumpMap</code> fall through to the material below.
* Only use one of <code>normalMap</code> and <code>bumpMap</code>.
* <code>"hifi_pbr"</code> model only.

View file

@ -87,8 +87,8 @@ public slots:
* type: "Model",
* position: Vec3.sum(MyAvatar.position, Vec3.multiplyQbyV(Camera.orientation, { x: -0.5, y: 0, z: -3 })),
* rotation: MyAvatar.orientation,
* modelURL: "http://content.highfidelity.com/seefo/production/puck-attach/vive_tracker_puck.obj",
* dimensions: { x: 0.945, y: 0.921, z: 0.423 },
* modelURL: "https://apidocs.vircadia.dev/models/cowboy-hat.fbx",
* dimensions: { x: 0.8569, y: 0.3960, z: 1.0744 },
* lifetime: 300 // Delete after 5 minutes.
* });
* var shapeEntityID = Entities.addEntity({

View file

@ -31,7 +31,7 @@ namespace scriptable {
/**jsdoc
* A handle to in-memory mesh data in a {@link GraphicsModel}.
*
* <p>Created using the {@link Graphics} API, {@link GraphicsModel.cloneModel}, or {@link GraphicsMesh.cloneMesh}.</p>
* <p>Create using the {@link Graphics} API, {@link GraphicsModel.cloneModel}, or {@link GraphicsMesh.cloneMesh}.</p>
*
* @class GraphicsMesh
* @hideconstructor
@ -133,7 +133,7 @@ namespace scriptable {
QVector<glm::uint32> findNearbyVertexIndices(const glm::vec3& origin, float epsilon = 1e-6) const;
/**jsdoc
* Adds an attribute to the (whole) mesh's vertices.
* Adds an attribute for all vertices.
* @function GraphicsMesh.addAttribute
* @param {Graphics.BufferTypeName} name - The name of the attribute.
* @param {Graphics.BufferType} [defaultValue] - The value to give the attributes added to the vertices.

View file

@ -13,7 +13,7 @@ namespace scriptable {
/**jsdoc
* A handle to in-memory mesh part data in a {@link GraphicsModel}.
*
* <p>Created using the {@link Graphics} API, {@link GraphicsModel.cloneModel}, {@link GraphicsMesh.cloneMesh}, or
* <p>Create using the {@link Graphics} API, {@link GraphicsModel.cloneModel}, {@link GraphicsMesh.cloneMesh}, or
* {@link GraphicsMeshPart.cloneMeshPart}.</p>
*
* @class GraphicsMeshPart

View file

@ -22,7 +22,7 @@ namespace scriptable {
* <p>Note: The model may be used for more than one instance of an item displayed in the scene. Modifying the model updates
* all instances displayed.</p>
*
* <p>Created using the {@link Graphics} API or {@link GraphicsModel.cloneModel}.</p>
* <p>Create using the {@link Graphics} API or {@link GraphicsModel.cloneModel}.</p>
*
* @class GraphicsModel
* @hideconstructor
@ -34,7 +34,7 @@ namespace scriptable {
* @property {Uuid} objectID - The ID of the entity or avatar that the model is associated with, if any; <code>null</code>
* if the model is not associated with an entity or avatar.
* <em>Read-only.</em>
* @property {number} numMeshes - The number of meshes contained in the model.
* @property {number} numMeshes - The number of meshes in the model.
* <em>Read-only.</em>
* @property {GraphicsMesh[]} meshes - The meshes in the model. Each mesh may have more than one mesh part.
* <em>Read-only.</em>

View file

@ -76,7 +76,7 @@ const std::array<const char*, 4> ZERO123 = { { "0", "1", "2", "3" } };
* <tr><td>{@link Vec2}</td><td><code>"texcoord4"</code></td><td>Fifth UV coordinates buffer.</td></tr>
* </tbody>
* </table>
* @typedef {Vec3|vec2} Graphics.BufferType
* @typedef {Vec4|Vec3|Vec2} Graphics.BufferType
*/
QMap<QString,int> ATTRIBUTES{
{"position", gpu::Stream::POSITION },

View file

@ -16,7 +16,7 @@ public:
// Used by the avatar mixer to describe a single joint
// Translations relative to their parent joint
// Rotations are absolute (i.e. not relative to parent) and are in rig space.
// No JSDoc because its not provided as a type to the script engine.
// No JSDoc because it's not provided as a type to the script engine.
class JointData {
public:
glm::quat rotation;

View file

@ -1309,7 +1309,7 @@ void meshesFromScriptValue(const QScriptValue& value, MeshProxyList &out) {
/**jsdoc
* A triangle in a mesh.
* @typedef {object} MeshFace
* @property {number[]} vertices - The indexes of the three vertices that make up the fase.
* @property {number[]} vertices - The indexes of the three vertices that make up the face.
*/
QScriptValue meshFaceToScriptValue(QScriptEngine* engine, const MeshFace &meshFace) {
QScriptValue obj = engine->newObject();

View file

@ -11,7 +11,8 @@
//
// Distributed under the Apache License, Version 2.0.
// See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html
//
//
(function() {
var ROOT = Script.resolvePath('').split("app-more.js")[0];
var APP_NAME = "MORE...";
@ -68,8 +69,7 @@
if (instruction.action === "installScript") {
if (lastProcessing.action !== instruction.action || lastProcessing.script !== instruction.script) {
ScriptDiscoveryService.loadOneScript(instruction.script);
lastProcessing.action = instruction.action;
ScriptDiscoveryService.loadScript(instruction.script, true, false, false, true, false); // Force reload the script, do not use cache. lastProcessing.action = instruction.action;
lastProcessing.script = instruction.script;
Script.setTimeout(function() {
sendRunningScriptList();

View file

@ -1,4 +1,4 @@
The Project Athena JavaScript API lets content creators and developers create new experiences and transform virtual worlds within the High Fidelity metaverse. With it, you can build great content, customize avatars, play audio and so much more.
The Vircadia JavaScript API lets content creators and developers create new experiences and transform virtual worlds within the Vircadia metaverse. With it, you can build great content, customize avatars, play audio and so much more.
You are most likely to interact with these APIs:
@ -6,4 +6,4 @@ You are most likely to interact with these APIs:
* The **[AvatarList](AvatarList.html)**, **[MyAvatar](MyAvatar.html)**, and **[Avatar](Avatar.html)** namespaces affect your personal avatars, and lets you get information on other people's avatars.
* The **[Script](Script.html)** namespace lets you to connect callbacks from your client to script, such as functionality that is dependent on time (`Script.update`, `Script.setTimeout`, `Script.setInterval`, etc), connect paths relatively to assets (`Script.resolvePath`), refer to other scripts (`Script.require`, `Script.include`), or connect functions to events which occur when the script is turned off (`Script.scriptEnding`).
To learn more about using High Fidelity and exploring the metaverse, visit the [Project Athena Documentation](https://docs.projectathena.dev).
To learn more about using Vircadia and exploring the metaverse, visit the [Vircadia Documentation](https://docs.vircadia.dev).

View file

@ -697,7 +697,7 @@ exports.publish = function(taffyData, opts, tutorials) {
var files = find({kind: 'file'});
var packages = find({kind: 'package'});
generate('', 'Project Athena API Reference',
generate('', 'Vircadia API Reference',
packages.concat(
[{kind: 'mainpage', readme: opts.readme, longname: (opts.mainpagetitle) ? opts.mainpagetitle : 'Main Page'}]
).concat(files),

Binary file not shown.

Before

Width:  |  Height:  |  Size: 132 KiB

After

Width:  |  Height:  |  Size: 122 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 213 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 53 KiB

View file

@ -74,11 +74,11 @@
<v-icon class="ml-4">mdi-backburger</v-icon>
</v-btn>
<div class="nav-header">
<p><a href="https://projectathena.io"><img src="images/project-athena-logo.png" width="214px" /></a></p>
<p><a href="https://vircadia.com"><img src="images/vircadia-logo-1880.png" width="214px" /></a></p>
<?js if (env.conf.docdash.search) { ?>
<input type="text" class="search-input" id="nav-search" placeholder="Search API Docs ..." />
<?js } ?>
<p><a href="https://docs.projectathena.dev">Looking for <strong>Project Athena</strong><br /> Documentation?</a></p>
<p><a href="https://docs.vircadia.dev">Looking for <strong>Vircadia</strong><br /> Documentation?</a></p>
<v-btn @click="toggleNightMode" text dark>
<span>Toggle</span>
<v-icon style="margin-left: 5px;">mdi-theme-light-dark</v-icon>

View file

@ -3,6 +3,7 @@
//
// Created by David Rowe on 5 Apr 2017.
// Copyright 2017 High Fidelity, Inc.
// Copyright 2020 Vircadia contributors.
//
// Distributed under the Apache License, Version 2.0.
// See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html
@ -41,9 +42,9 @@
<h1>Setup Instructions</h1>
<p>In your sandbox domain:</p>
<ul>
<li>Right-click the High Fidelity Sandbox icon in your system tray and click &ldquo;Settings&rdquo;.</li>
<li>Right-click the Vircadia Sandbox icon in your system tray and click &ldquo;Settings&rdquo;.</li>
<li>In the &ldquo;Scripts&rdquo; section add a new row and paste in this script URL:<br />
<input type="text" value="https://content.highfidelity.com/Scripts/playRecordingAC.js" readonly />
<input type="text" value="https://cdn.vircadia.com/community-apps/applications/record/playRecordingAC.js" readonly />
</li>
<li>Set the number of recordings you&rsquo;d like to run at a given time in the &ldquo;Instances&rdquo; slot.</li>
<li>Click &ldquo;Save and restart&rdquo;.</li>

View file

@ -0,0 +1,36 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 19.2.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 50 50" style="enable-background:new 0 0 50 50;" xml:space="preserve">
<style type="text/css">
.st0{fill:#FFFFFF;}
</style>
<g id="Layer_2">
</g>
<g>
<path class="st0" d="M23.2,20.5c-1,0.8-1.8,1.4-2.7,2.1c-0.2,0.1-0.2,0.4-0.2,0.7c-0.3,1.7-0.6,3.4-0.9,5.1
c-0.1,0.8-0.6,1.2-1.3,1.1c-0.7-0.1-1.2-0.7-1.1-1.4c0.3-2.2,0.6-4.4,1-6.6c0.1-0.3,0.3-0.7,0.6-0.9c1.4-1.3,2.8-2.5,4.2-3.7
c0.7-0.6,1.5-1,2.4-0.9c0.3,0,0.7,0,1,0c1-0.1,1.7,0.4,2.1,1.3c0.7,1.4,1.4,2.8,1.9,4.3c0.5,1.3,1.2,2.1,2.4,2.6c1,0.4,2,1,3,1.5
c0.2,0.1,0.5,0.3,0.7,0.5c0.4,0.4,0.5,1,0.3,1.4C36.4,28,36,28.1,35.5,28c-0.4-0.1-0.8-0.2-1.2-0.4c-1.3-0.6-2.5-1.2-3.7-1.8
c-0.8-0.3-1.4-0.8-1.8-1.6c-0.2-0.3-0.4-0.6-0.7-1c-0.1,0.3-0.1,0.5-0.2,0.7c-0.3,1.2-0.5,2.4-0.8,3.6c-0.1,0.4,0,0.7,0.2,1
c2.2,3.7,4.4,7.4,6.6,11.1c0.3,0.4,0.4,1,0.5,1.5c0.1,0.7-0.1,1.3-0.7,1.6c-0.7,0.4-1.4,0.4-1.9-0.1c-0.4-0.4-0.8-0.8-1.1-1.3
c-2.5-3.9-5-7.9-7.5-11.8c-0.4-0.7-0.8-1.5-1.1-2.2c-0.1-0.4-0.1-0.9,0-1.3C22.5,24.2,22.8,22.4,23.2,20.5z"/>
<path class="st0" d="M23.2,33.9c-0.1-0.1-0.2-0.2-0.2-0.3c0,0,0,0,0,0c-0.2-0.2-0.3-0.5-0.5-0.7c-0.3-0.4-0.6-0.8-0.9-1.1
c-0.3,1-0.5,2-0.8,3c-0.1,0.3-0.3,0.7-0.4,1c-1,1.5-2,3.1-3,4.6c-0.2,0.4-0.4,0.8-0.6,1.3c-0.2,0.9,0.7,1.9,1.6,1.5
c0.5-0.2,1-0.7,1.3-1.1c0.9-1.1,1.6-2.3,2.5-3.3c0.8-1,1.4-2.2,1.8-3.4C23.8,34.7,23.5,34.3,23.2,33.9z"/>
<path class="st0" d="M29,11.6c0,1.3-1.1,2.4-2.4,2.4h-0.2c-1.3,0-2.4-1.1-2.4-2.4v-1.2C24,9.1,25.1,8,26.4,8h0.2
c1.3,0,2.4,1.1,2.4,2.4V11.6z"/>
<path class="st0" d="M43.4,24.1c-0.5,0.3-0.9,0.5-1.4,0.8v6.3h2.3v-7.6C44,23.8,43.7,23.9,43.4,24.1z"/>
<path class="st0" d="M42,38.6v0.4c0,1.2-1,2.1-2.1,2.1h-0.8v2.3h0.8c2.5,0,4.5-2,4.5-4.5v-0.4H42z"/>
<path class="st0" d="M9.7,12.2v-0.4c0-1.2,1-2.1,2.1-2.1h2V7.3h-2c-2.5,0-4.5,2-4.5,4.5v0.4H9.7z"/>
<rect x="7.4" y="18.3" class="st0" width="2.3" height="12.9"/>
<path class="st0" d="M9.7,38.9v-0.4H7.4v0.4c0,2.5,2,4.5,4.5,4.5h2v-2.3h-2C10.7,41.1,9.7,40.1,9.7,38.9z"/>
<g>
<circle class="st0" cx="38.6" cy="13.3" r="2.2"/>
<path class="st0" d="M38.6,15.5c-1.2,0-2.2-1-2.2-2.2s1-2.2,2.2-2.2c1.2,0,2.2,1,2.2,2.2S39.8,15.5,38.6,15.5z M38.6,11.2
c-1.1,0-2.1,0.9-2.1,2.1s0.9,2.1,2.1,2.1c1.1,0,2.1-0.9,2.1-2.1S39.7,11.2,38.6,11.2z"/>
</g>
<path class="st0" d="M38.6,19.7c-3.6,0-6.4-2.9-6.4-6.4s2.9-6.4,6.4-6.4c3.6,0,6.4,2.9,6.4,6.4S42.1,19.7,38.6,19.7z M38.6,9.1
c-2.3,0-4.2,1.9-4.2,4.2s1.9,4.2,4.2,4.2c2.3,0,4.2-1.9,4.2-4.2S40.9,9.1,38.6,9.1z"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.7 KiB