mirror of
https://github.com/overte-org/overte.git
synced 2025-04-14 19:07:51 +02:00
Merge branch 'master' of https://github.com/kasenvr/project-athena into feature/gha_vircadia
This commit is contained in:
commit
8a76753135
29 changed files with 110 additions and 72 deletions
|
@ -82,15 +82,15 @@
|
||||||
* <p><strong>Note:</strong> This property will automatically be set to true if the Controller system has valid facial
|
* <p><strong>Note:</strong> This property will automatically be set to true if the Controller system has valid facial
|
||||||
* blend shape actions.</p>
|
* blend shape actions.</p>
|
||||||
* @property {boolean} hasProceduralBlinkFaceMovement=true - <code>true</code> if avatars blink automatically by animating
|
* @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
|
* facial blend shapes, <code>false</code> if automatic blinking is disabled. Set to <code>false</code> to fully control
|
||||||
* you wish to fully control the blink facial blend shapes via the {@link MyAvatar.setBlendshape} method.
|
* 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
|
* @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
|
* 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
|
* to <code>true</code> to prevent the iris from being obscured by the upper or lower lids. Set to <code>false</code> to
|
||||||
* <code>false</code> if you wish to fully control the eye blend shapes via the {@link MyAvatar.setBlendshape} method.
|
* 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
|
* @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
|
* 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.
|
* {@link MyAvatar.setBlendshape} method.
|
||||||
*
|
*
|
||||||
* @example <caption>Create a scriptable avatar.</caption>
|
* @example <caption>Create a scriptable avatar.</caption>
|
||||||
|
|
|
@ -7,7 +7,7 @@ MessageBox {
|
||||||
popup.onButton2Clicked = callback;
|
popup.onButton2Clicked = callback;
|
||||||
popup.titleText = 'Specify Avatar URL'
|
popup.titleText = 'Specify Avatar URL'
|
||||||
popup.bodyText = 'This will not overwrite your existing favorite if you are wearing one.<br>' +
|
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.' +
|
'Learn to make a custom avatar by opening this link on your desktop.' +
|
||||||
'</a>'
|
'</a>'
|
||||||
popup.inputText.visible = true;
|
popup.inputText.visible = true;
|
||||||
|
|
|
@ -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
|
* <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>
|
* valid facial blend shape actions.</p>
|
||||||
* @property {boolean} hasProceduralBlinkFaceMovement=true - <code>true</code> if avatars blink automatically by animating
|
* @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>
|
* facial blend shapes, <code>false</code> if automatic blinking is disabled. Set to <code>false</code> to fully control
|
||||||
* to fully control the blink facial blend shapes via the {@link MyAvatar.setBlendshape} method.
|
* 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
|
* @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
|
* 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
|
* to <code>true</code> to prevent the iris from being obscured by the upper or lower lids. Set to <code>false</code> to
|
||||||
* <code>false</code> to fully control the eye blend shapes via the {@link MyAvatar.setBlendshape} method.
|
* 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
|
* @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
|
* 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
|
* 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
|
* <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,
|
* 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
|
* 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
|
* @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
|
* @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
|
* 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} firstFrame - The frame to start the animation at.
|
||||||
* @param {number} lastFrame - The frame to end 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>
|
* @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);
|
* MyAvatar.overrideAnimation(ANIM_URL, 30, true, 0, 53);
|
||||||
* Script.setTimeout(function () {
|
* Script.setTimeout(function () {
|
||||||
* MyAvatar.restoreAnimation();
|
* MyAvatar.restoreAnimation();
|
||||||
|
@ -688,7 +688,7 @@ public:
|
||||||
* @param {number} firstFrame - The frame to start the animation at.
|
* @param {number} firstFrame - The frame to start the animation at.
|
||||||
* @param {number} lastFrame - The frame to end the animation at.
|
* @param {number} lastFrame - The frame to end the animation at.
|
||||||
* @example <caption> Override left hand animation for three seconds.</caption>
|
* @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);
|
* MyAvatar.overrideHandAnimation(isLeft, ANIM_URL, 30, true, 0, 53);
|
||||||
* Script.setTimeout(function () {
|
* Script.setTimeout(function () {
|
||||||
* MyAvatar.restoreHandAnimation();
|
* MyAvatar.restoreHandAnimation();
|
||||||
|
@ -705,7 +705,7 @@ public:
|
||||||
* animation, this function has no effect.</p>
|
* animation, this function has no effect.</p>
|
||||||
* @function MyAvatar.restoreAnimation
|
* @function MyAvatar.restoreAnimation
|
||||||
* @example <caption> Play a clapping animation on your avatar for three seconds. </caption>
|
* @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);
|
* MyAvatar.overrideAnimation(ANIM_URL, 30, true, 0, 53);
|
||||||
* Script.setTimeout(function () {
|
* Script.setTimeout(function () {
|
||||||
* MyAvatar.restoreAnimation();
|
* MyAvatar.restoreAnimation();
|
||||||
|
@ -722,7 +722,7 @@ public:
|
||||||
* @function MyAvatar.restoreHandAnimation
|
* @function MyAvatar.restoreHandAnimation
|
||||||
* @param isLeft {boolean} Set to true if using the left hand
|
* @param isLeft {boolean} Set to true if using the left hand
|
||||||
* @example <caption> Override left hand animation for three seconds. </caption>
|
* @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);
|
* MyAvatar.overrideHandAnimation(isLeft, ANIM_URL, 30, true, 0, 53);
|
||||||
* Script.setTimeout(function () {
|
* Script.setTimeout(function () {
|
||||||
* MyAvatar.restoreHandAnimation();
|
* 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
|
* 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>
|
* 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.
|
* // 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);
|
* MyAvatar.overrideRoleAnimation("idleStand", ANIM_URL, 30, true, 0, 53);
|
||||||
* Script.setTimeout(function () {
|
* Script.setTimeout(function () {
|
||||||
* MyAvatar.restoreRoleAnimation();
|
* MyAvatar.restoreRoleAnimation();
|
||||||
|
@ -1793,15 +1793,15 @@ public:
|
||||||
|
|
||||||
/**jsdoc
|
/**jsdoc
|
||||||
* Turns the avatar's head until it faces the target point within a +90/-90 degree range.
|
* 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.
|
* 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 will regain control of the head.
|
* If this method is not called for 2 seconds, the engine regains control of the head.
|
||||||
* @function MyAvatar.setHeadLookAt
|
* @function MyAvatar.setHeadLookAt
|
||||||
* @param {Vec3} lookAtTarget - The target point in world coordinates.
|
* @param {Vec3} lookAtTarget - The target point in world coordinates.
|
||||||
*/
|
*/
|
||||||
Q_INVOKABLE void setHeadLookAt(const glm::vec3& lookAtTarget);
|
Q_INVOKABLE void setHeadLookAt(const glm::vec3& lookAtTarget);
|
||||||
|
|
||||||
/**jsdoc
|
/**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
|
* @function MyAvatar.getHeadLookAt
|
||||||
* @returns {Vec3} The head's look-at target in world coordinates.
|
* @returns {Vec3} The head's look-at target in world coordinates.
|
||||||
*/
|
*/
|
||||||
|
@ -1815,7 +1815,7 @@ public:
|
||||||
|
|
||||||
/**jsdoc
|
/**jsdoc
|
||||||
* Forces the avatar's eyes to look at a specified location. Once this method is called, API calls
|
* 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.
|
* the engine regains control of the eyes.
|
||||||
* @function MyAvatar.setEyesLookAt
|
* @function MyAvatar.setEyesLookAt
|
||||||
* @param {Vec3} lookAtTarget - The target point in world coordinates.
|
* @param {Vec3} lookAtTarget - The target point in world coordinates.
|
||||||
|
@ -1823,7 +1823,7 @@ public:
|
||||||
Q_INVOKABLE void setEyesLookAt(const glm::vec3& lookAtTarget);
|
Q_INVOKABLE void setEyesLookAt(const glm::vec3& lookAtTarget);
|
||||||
|
|
||||||
/**jsdoc
|
/**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
|
* @function MyAvatar.getEyesLookAt
|
||||||
* @returns {Vec3} The eyes' look-at target in world coordinates.
|
* @returns {Vec3} The eyes' look-at target in world coordinates.
|
||||||
*/
|
*/
|
||||||
|
@ -2051,7 +2051,8 @@ public slots:
|
||||||
float getGravity();
|
float getGravity();
|
||||||
|
|
||||||
/**jsdoc
|
/**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
|
* @function MyAvatar.goToFeetLocation
|
||||||
* @param {Vec3} position - The new position for the avatar, in world coordinates.
|
* @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.
|
* @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 hasOrientation = false, const glm::quat& newOrientation = glm::quat(),
|
||||||
bool shouldFaceLocation = false, bool withSafeLanding = true);
|
bool shouldFaceLocation = false, bool withSafeLanding = true);
|
||||||
/**jsdoc
|
/**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
|
* @function MyAvatar.goToLocation
|
||||||
* @param {MyAvatar.GoToProperties} target - The goto target.
|
* @param {MyAvatar.GoToProperties} target - The goto target.
|
||||||
*/
|
*/
|
||||||
void goToLocation(const QVariant& properties);
|
void goToLocation(const QVariant& properties);
|
||||||
|
|
||||||
/**jsdoc
|
/**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
|
* @function MyAvatar.goToLocationAndEnableCollisions
|
||||||
* @param {Vec3} position - The new position for the avatar, in world coordinates.
|
* @param {Vec3} position - The new position for the avatar, in world coordinates.
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -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
|
* @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
|
* 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.
|
* 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-<user
|
* @param {string} [filename=""] - If a filename is not provided, the image is saved as "vircadia-snap-by-<user
|
||||||
* name>-on-YYYY-MM-DD_HH-MM-SS".
|
* name>-on-YYYY-MM-DD_HH-MM-SS".
|
||||||
* <p>Still images are saved in JPEG or PNG format according to the extension provided — <code>".jpg"</code>,
|
* <p>Still images are saved in JPEG or PNG format according to the extension provided — <code>".jpg"</code>,
|
||||||
* <code>".jpeg"</code>, or <code>".png"</code> — or if not provided then in JPEG format with an extension of
|
* <code>".jpeg"</code>, or <code>".png"</code> — or if not provided then in JPEG format with an extension of
|
||||||
|
@ -364,7 +364,7 @@ public slots:
|
||||||
* @function Window.takeSecondaryCameraSnapshot
|
* @function Window.takeSecondaryCameraSnapshot
|
||||||
* @param {boolean} [notify=true] - This value is passed on through the {@link Window.stillSnapshotTaken|stillSnapshotTaken}
|
* @param {boolean} [notify=true] - This value is passed on through the {@link Window.stillSnapshotTaken|stillSnapshotTaken}
|
||||||
* signal.
|
* signal.
|
||||||
* @param {string} [filename=""] - If a filename is not provided, the image is saved as "hifi-snap-by-<user
|
* @param {string} [filename=""] - If a filename is not provided, the image is saved as "vircadia-snap-by-<user
|
||||||
* name>-on-YYYY-MM-DD_HH-MM-SS".
|
* name>-on-YYYY-MM-DD_HH-MM-SS".
|
||||||
* <p>Images are saved in JPEG or PNG format according to the extension provided — <code>".jpg"</code>,
|
* <p>Images are saved in JPEG or PNG format according to the extension provided — <code>".jpg"</code>,
|
||||||
* <code>".jpeg"</code>, or <code>".png"</code> — or if not provided then in JPEG format with an extension of
|
* <code>".jpeg"</code>, or <code>".png"</code> — 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.
|
* otherwise it is saved as an equirectangular image.
|
||||||
* @param {boolean} [notify=true] - This value is passed on through the {@link Window.stillSnapshotTaken|stillSnapshotTaken}
|
* @param {boolean} [notify=true] - This value is passed on through the {@link Window.stillSnapshotTaken|stillSnapshotTaken}
|
||||||
* signal.
|
* signal.
|
||||||
* @param {string} [filename=""] - If a filename is not provided, the image is saved as "hifi-snap-by-<user
|
* @param {string} [filename=""] - If a filename is not provided, the image is saved as "vircadia-snap-by-<user
|
||||||
* name>-on-YYYY-MM-DD_HH-MM-SS".
|
* name>-on-YYYY-MM-DD_HH-MM-SS".
|
||||||
* <p>Images are saved in JPEG or PNG format according to the extension provided — <code>".jpg"</code>,
|
* <p>Images are saved in JPEG or PNG format according to the extension provided — <code>".jpg"</code>,
|
||||||
* <code>".jpeg"</code>, or <code>".png"</code> — or if not provided then in JPEG format with an extension of
|
* <code>".jpeg"</code>, or <code>".png"</code> — or if not provided then in JPEG format with an extension of
|
||||||
|
|
|
@ -145,7 +145,7 @@ void InteractiveWindow::emitMainWindowResizeEvent() {
|
||||||
* @property {InteractiveWindow.Flags} [additionalFlags=0] - Customizes window behavior.
|
* @property {InteractiveWindow.Flags} [additionalFlags=0] - Customizes window behavior.
|
||||||
* @property {InteractiveWindow.OverrideFlags} [overrideFlags=0] - Customizes window controls.
|
* @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.
|
* <code>relativePosition</code>, if used.
|
||||||
* @property {Vec2} [relativePosition] - The position of the window, relative to the <code>relativePositionAnchor</code>, in
|
* @property {Vec2} [relativePosition] - The position of the window, relative to the <code>relativePositionAnchor</code>, in
|
||||||
* pixels. Excludes the window frame.
|
* pixels. Excludes the window frame.
|
||||||
|
|
|
@ -42,9 +42,9 @@
|
||||||
#include "Snapshot.h"
|
#include "Snapshot.h"
|
||||||
#include "SnapshotUploader.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
|
// %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 DATETIME_FORMAT = "yyyy-MM-dd_hh-mm-ss";
|
||||||
const QString SNAPSHOTS_DIRECTORY = "Snapshots";
|
const QString SNAPSHOTS_DIRECTORY = "Snapshots";
|
||||||
const QString URL = "highfidelity_url";
|
const QString URL = "highfidelity_url";
|
||||||
|
|
|
@ -1925,7 +1925,7 @@ void Avatar::setParentJointIndex(quint16 parentJointIndex) {
|
||||||
* @typedef {object} SkeletonJoint
|
* @typedef {object} SkeletonJoint
|
||||||
* @property {string} name - Joint name.
|
* @property {string} name - Joint name.
|
||||||
* @property {number} index - Joint index.
|
* @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() {
|
QList<QVariant> Avatar::getSkeleton() {
|
||||||
SkeletonModelPointer skeletonModel = _skeletonModel;
|
SkeletonModelPointer skeletonModel = _skeletonModel;
|
||||||
|
|
|
@ -442,7 +442,7 @@ public:
|
||||||
void setOrientationViaScript(const glm::quat& orientation) override;
|
void setOrientationViaScript(const glm::quat& orientation) override;
|
||||||
|
|
||||||
/**jsdoc
|
/**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
|
* @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.
|
* @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(); }
|
Q_INVOKABLE virtual const QUuid getParentID() const override { return SpatiallyNestable::getParentID(); }
|
||||||
|
|
||||||
/**jsdoc
|
/**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
|
* @function MyAvatar.setParentID
|
||||||
* @param {Uuid} parentID - The ID of the entity or avatar that the avatar should be parented to. Set to
|
* @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.
|
* {@link Uuid(0)|Uuid.NULL} to unparent.
|
||||||
|
|
|
@ -19,7 +19,7 @@
|
||||||
/**jsdoc
|
/**jsdoc
|
||||||
* Information about an avatar.
|
* 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
|
* @class ScriptAvatar
|
||||||
* @hideconstructor
|
* @hideconstructor
|
||||||
|
@ -87,7 +87,7 @@ public slots:
|
||||||
/**jsdoc
|
/**jsdoc
|
||||||
* Gets the default rotation of a joint in the avatar relative to its parent.
|
* Gets the default rotation of a joint in the avatar relative to its parent.
|
||||||
* <p>For information on the joint hierarchy used, see
|
* <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
|
* @function ScriptAvatar.getDefaultJointRotation
|
||||||
* @param {number} index - The joint index.
|
* @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
|
* @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.
|
* 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><strong>Warning:</strong> These coordinates are not necessarily in meters.</p>
|
||||||
* <p>For information on the joint hierarchy used, see
|
* <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
|
* @function ScriptAvatar.getDefaultJointTranslation
|
||||||
* @param {number} index - The joint index.
|
* @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
|
* @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
|
/**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
|
* @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
|
* @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.
|
* or avatar data aren't available.
|
||||||
|
|
|
@ -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
|
* <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>
|
* valid facial blend shape actions.</p>
|
||||||
* @property {boolean} hasProceduralBlinkFaceMovement=true - <code>true</code> if avatars blink automatically by animating
|
* @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>
|
* facial blend shapes, <code>false</code> if automatic blinking is disabled. Set to <code>false</code> to fully control
|
||||||
* to fully control the blink facial blend shapes via the {@link Avatar.setBlendshape} method.
|
* 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
|
* @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
|
* 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
|
* to <code>true</code> to prevent the iris from being obscured by the upper or lower lids. Set to <code>false</code> to
|
||||||
* <code>false</code> to fully control the eye blend shapes via the {@link Avatar.setBlendshape} method.
|
* 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
|
* @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
|
* 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
|
* 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.
|
* <code>null</code> to remove all attachments.
|
||||||
* @deprecated This function is deprecated and will be removed. Use avatar entities instead.
|
* @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>
|
* @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();
|
* var attachments = MyAvatar.getAttachmentData();
|
||||||
*
|
*
|
||||||
* for (var i = 0; i < attachments.length; i++) {
|
* 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.
|
* @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>
|
* @example <caption>Attach a cowboy hat to your avatar's head.</caption>
|
||||||
* var attachment = {
|
* var attachment = {
|
||||||
* modelURL: "https://s3.amazonaws.com/hifi-public/tony/cowboy-hat.fbx",
|
* modelURL: "https://apidocs.vircadia.dev/models/cowboy-hat.fbx",
|
||||||
* jointName: "Head",
|
* jointName: "Head",
|
||||||
* translation: {"x": 0, "y": 0.25, "z": 0},
|
* translation: {"x": 0, "y": 0.25, "z": 0},
|
||||||
* rotation: {"x": 0, "y": 0, "z": 0, "w": 1},
|
* rotation: {"x": 0, "y": 0, "z": 0, "w": 1},
|
||||||
|
@ -1542,7 +1542,7 @@ signals:
|
||||||
void sessionDisplayNameChanged();
|
void sessionDisplayNameChanged();
|
||||||
|
|
||||||
/**jsdoc
|
/**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
|
* @function Avatar.skeletonModelURLChanged
|
||||||
* @returns {Signal}
|
* @returns {Signal}
|
||||||
* @example <caption>Report when your avatar's skeleton model changes.</caption>
|
* @example <caption>Report when your avatar's skeleton model changes.</caption>
|
||||||
|
|
|
@ -117,7 +117,7 @@ public:
|
||||||
|
|
||||||
/**jsdoc
|
/**jsdoc
|
||||||
* Gets the rotation of a joint relative to its parent. For information on the joint hierarchy used, see
|
* 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
|
* @function ScriptAvatar.getJointRotation
|
||||||
* @param {number} index - The index of the joint.
|
* @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
|
* @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.
|
* 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><strong>Warning:</strong> These coordinates are not necessarily in meters.</p>
|
||||||
* <p>For information on the joint hierarchy used, see
|
* <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
|
* @function ScriptAvatar.getJointTranslation
|
||||||
* @param {number} index - The index of the joint.
|
* @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}
|
* @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
|
/**jsdoc
|
||||||
* Gets the rotation of a joint relative to its parent. For information on the joint hierarchy used, see
|
* 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
|
* @function ScriptAvatar.getJointRotation
|
||||||
* @param {string} name - The name of the joint.
|
* @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
|
* @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.
|
* 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><strong>Warning:</strong> These coordinates are not necessarily in meters.</p>
|
||||||
* <p>For information on the joint hierarchy used, see
|
* <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
|
* @function ScriptAvatar.getJointTranslation
|
||||||
* @param {number} name - The name of the joint.
|
* @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}
|
* @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();
|
void sessionDisplayNameChanged();
|
||||||
|
|
||||||
/**jsdoc
|
/**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
|
* @function ScriptAvatar.skeletonModelURLChanged
|
||||||
* @returns {Signal}
|
* @returns {Signal}
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -1036,8 +1036,8 @@ EntityPropertyFlags EntityItemProperties::getChangedProperties() const {
|
||||||
* type: "Model",
|
* type: "Model",
|
||||||
* position: Vec3.sum(MyAvatar.position, Vec3.multiplyQbyV(MyAvatar.orientation, { x: 0, y: 0.75, z: -2 })),
|
* position: Vec3.sum(MyAvatar.position, Vec3.multiplyQbyV(MyAvatar.orientation, { x: 0, y: 0.75, z: -2 })),
|
||||||
* rotation: MyAvatar.orientation,
|
* rotation: MyAvatar.orientation,
|
||||||
* modelURL: "http://content.highfidelity.com/seefo/production/puck-attach/vive_tracker_puck.obj",
|
* modelURL: "https://apidocs.vircadia.dev/models/cowboy-hat.fbx",
|
||||||
* dimensions: { x: 0.0945, y: 0.0921, z: 0.0423 },
|
* dimensions: { x: 0.8569, y: 0.3960, z: 1.0744 },
|
||||||
* lifetime: 300 // Delete after 5 minutes.
|
* lifetime: 300 // Delete after 5 minutes.
|
||||||
* });
|
* });
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -434,7 +434,7 @@ namespace scriptable {
|
||||||
* @property {string} [glossMap] - The URL of the gloss texture image.
|
* @property {string} [glossMap] - The URL of the gloss texture image.
|
||||||
* Only use one of <code>roughnessMap</code> and <code>glossMap</code>.
|
* Only use one of <code>roughnessMap</code> and <code>glossMap</code>.
|
||||||
* <code>"hifi_pbr"</code> model only.
|
* <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.
|
* 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>.
|
* Only use one of <code>normalMap</code> and <code>bumpMap</code>.
|
||||||
* <code>"hifi_pbr"</code> model only.
|
* <code>"hifi_pbr"</code> model only.
|
||||||
|
|
|
@ -87,8 +87,8 @@ public slots:
|
||||||
* type: "Model",
|
* type: "Model",
|
||||||
* position: Vec3.sum(MyAvatar.position, Vec3.multiplyQbyV(Camera.orientation, { x: -0.5, y: 0, z: -3 })),
|
* position: Vec3.sum(MyAvatar.position, Vec3.multiplyQbyV(Camera.orientation, { x: -0.5, y: 0, z: -3 })),
|
||||||
* rotation: MyAvatar.orientation,
|
* rotation: MyAvatar.orientation,
|
||||||
* modelURL: "http://content.highfidelity.com/seefo/production/puck-attach/vive_tracker_puck.obj",
|
* modelURL: "https://apidocs.vircadia.dev/models/cowboy-hat.fbx",
|
||||||
* dimensions: { x: 0.945, y: 0.921, z: 0.423 },
|
* dimensions: { x: 0.8569, y: 0.3960, z: 1.0744 },
|
||||||
* lifetime: 300 // Delete after 5 minutes.
|
* lifetime: 300 // Delete after 5 minutes.
|
||||||
* });
|
* });
|
||||||
* var shapeEntityID = Entities.addEntity({
|
* var shapeEntityID = Entities.addEntity({
|
||||||
|
|
|
@ -31,7 +31,7 @@ namespace scriptable {
|
||||||
/**jsdoc
|
/**jsdoc
|
||||||
* A handle to in-memory mesh data in a {@link GraphicsModel}.
|
* 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
|
* @class GraphicsMesh
|
||||||
* @hideconstructor
|
* @hideconstructor
|
||||||
|
@ -133,7 +133,7 @@ namespace scriptable {
|
||||||
QVector<glm::uint32> findNearbyVertexIndices(const glm::vec3& origin, float epsilon = 1e-6) const;
|
QVector<glm::uint32> findNearbyVertexIndices(const glm::vec3& origin, float epsilon = 1e-6) const;
|
||||||
|
|
||||||
/**jsdoc
|
/**jsdoc
|
||||||
* Adds an attribute to the (whole) mesh's vertices.
|
* Adds an attribute for all vertices.
|
||||||
* @function GraphicsMesh.addAttribute
|
* @function GraphicsMesh.addAttribute
|
||||||
* @param {Graphics.BufferTypeName} name - The name of the attribute.
|
* @param {Graphics.BufferTypeName} name - The name of the attribute.
|
||||||
* @param {Graphics.BufferType} [defaultValue] - The value to give the attributes added to the vertices.
|
* @param {Graphics.BufferType} [defaultValue] - The value to give the attributes added to the vertices.
|
||||||
|
|
|
@ -13,7 +13,7 @@ namespace scriptable {
|
||||||
/**jsdoc
|
/**jsdoc
|
||||||
* A handle to in-memory mesh part data in a {@link GraphicsModel}.
|
* 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>
|
* {@link GraphicsMeshPart.cloneMeshPart}.</p>
|
||||||
*
|
*
|
||||||
* @class GraphicsMeshPart
|
* @class GraphicsMeshPart
|
||||||
|
|
|
@ -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
|
* <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>
|
* 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
|
* @class GraphicsModel
|
||||||
* @hideconstructor
|
* @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>
|
* @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.
|
* if the model is not associated with an entity or avatar.
|
||||||
* <em>Read-only.</em>
|
* <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>
|
* <em>Read-only.</em>
|
||||||
* @property {GraphicsMesh[]} meshes - The meshes in the model. Each mesh may have more than one mesh part.
|
* @property {GraphicsMesh[]} meshes - The meshes in the model. Each mesh may have more than one mesh part.
|
||||||
* <em>Read-only.</em>
|
* <em>Read-only.</em>
|
||||||
|
|
|
@ -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>
|
* <tr><td>{@link Vec2}</td><td><code>"texcoord4"</code></td><td>Fifth UV coordinates buffer.</td></tr>
|
||||||
* </tbody>
|
* </tbody>
|
||||||
* </table>
|
* </table>
|
||||||
* @typedef {Vec3|vec2} Graphics.BufferType
|
* @typedef {Vec4|Vec3|Vec2} Graphics.BufferType
|
||||||
*/
|
*/
|
||||||
QMap<QString,int> ATTRIBUTES{
|
QMap<QString,int> ATTRIBUTES{
|
||||||
{"position", gpu::Stream::POSITION },
|
{"position", gpu::Stream::POSITION },
|
||||||
|
|
|
@ -16,7 +16,7 @@ public:
|
||||||
// Used by the avatar mixer to describe a single joint
|
// Used by the avatar mixer to describe a single joint
|
||||||
// Translations relative to their parent joint
|
// Translations relative to their parent joint
|
||||||
// Rotations are absolute (i.e. not relative to parent) and are in rig space.
|
// 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 {
|
class JointData {
|
||||||
public:
|
public:
|
||||||
glm::quat rotation;
|
glm::quat rotation;
|
||||||
|
|
|
@ -1309,7 +1309,7 @@ void meshesFromScriptValue(const QScriptValue& value, MeshProxyList &out) {
|
||||||
/**jsdoc
|
/**jsdoc
|
||||||
* A triangle in a mesh.
|
* A triangle in a mesh.
|
||||||
* @typedef {object} MeshFace
|
* @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 meshFaceToScriptValue(QScriptEngine* engine, const MeshFace &meshFace) {
|
||||||
QScriptValue obj = engine->newObject();
|
QScriptValue obj = engine->newObject();
|
||||||
|
|
|
@ -11,7 +11,8 @@
|
||||||
//
|
//
|
||||||
// Distributed under the Apache License, Version 2.0.
|
// Distributed under the Apache License, Version 2.0.
|
||||||
// See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html
|
// See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html
|
||||||
//
|
//
|
||||||
|
|
||||||
(function() {
|
(function() {
|
||||||
var ROOT = Script.resolvePath('').split("app-more.js")[0];
|
var ROOT = Script.resolvePath('').split("app-more.js")[0];
|
||||||
var APP_NAME = "MORE...";
|
var APP_NAME = "MORE...";
|
||||||
|
@ -68,8 +69,7 @@
|
||||||
|
|
||||||
if (instruction.action === "installScript") {
|
if (instruction.action === "installScript") {
|
||||||
if (lastProcessing.action !== instruction.action || lastProcessing.script !== instruction.script) {
|
if (lastProcessing.action !== instruction.action || lastProcessing.script !== instruction.script) {
|
||||||
ScriptDiscoveryService.loadOneScript(instruction.script);
|
ScriptDiscoveryService.loadScript(instruction.script, true, false, false, true, false); // Force reload the script, do not use cache. lastProcessing.action = instruction.action;
|
||||||
lastProcessing.action = instruction.action;
|
|
||||||
lastProcessing.script = instruction.script;
|
lastProcessing.script = instruction.script;
|
||||||
Script.setTimeout(function() {
|
Script.setTimeout(function() {
|
||||||
sendRunningScriptList();
|
sendRunningScriptList();
|
||||||
|
|
|
@ -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:
|
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 **[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`).
|
* 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).
|
||||||
|
|
|
@ -697,7 +697,7 @@ exports.publish = function(taffyData, opts, tutorials) {
|
||||||
var files = find({kind: 'file'});
|
var files = find({kind: 'file'});
|
||||||
var packages = find({kind: 'package'});
|
var packages = find({kind: 'package'});
|
||||||
|
|
||||||
generate('', 'Project Athena API Reference',
|
generate('', 'Vircadia API Reference',
|
||||||
packages.concat(
|
packages.concat(
|
||||||
[{kind: 'mainpage', readme: opts.readme, longname: (opts.mainpagetitle) ? opts.mainpagetitle : 'Main Page'}]
|
[{kind: 'mainpage', readme: opts.readme, longname: (opts.mainpagetitle) ? opts.mainpagetitle : 'Main Page'}]
|
||||||
).concat(files),
|
).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 |
|
@ -74,11 +74,11 @@
|
||||||
<v-icon class="ml-4">mdi-backburger</v-icon>
|
<v-icon class="ml-4">mdi-backburger</v-icon>
|
||||||
</v-btn>
|
</v-btn>
|
||||||
<div class="nav-header">
|
<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) { ?>
|
<?js if (env.conf.docdash.search) { ?>
|
||||||
<input type="text" class="search-input" id="nav-search" placeholder="Search API Docs ..." />
|
<input type="text" class="search-input" id="nav-search" placeholder="Search API Docs ..." />
|
||||||
<?js } ?>
|
<?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>
|
<v-btn @click="toggleNightMode" text dark>
|
||||||
<span>Toggle</span>
|
<span>Toggle</span>
|
||||||
<v-icon style="margin-left: 5px;">mdi-theme-light-dark</v-icon>
|
<v-icon style="margin-left: 5px;">mdi-theme-light-dark</v-icon>
|
||||||
|
|
|
@ -3,6 +3,7 @@
|
||||||
//
|
//
|
||||||
// Created by David Rowe on 5 Apr 2017.
|
// Created by David Rowe on 5 Apr 2017.
|
||||||
// Copyright 2017 High Fidelity, Inc.
|
// Copyright 2017 High Fidelity, Inc.
|
||||||
|
// Copyright 2020 Vircadia contributors.
|
||||||
//
|
//
|
||||||
// Distributed under the Apache License, Version 2.0.
|
// Distributed under the Apache License, Version 2.0.
|
||||||
// See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html
|
// See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html
|
||||||
|
@ -41,9 +42,9 @@
|
||||||
<h1>Setup Instructions</h1>
|
<h1>Setup Instructions</h1>
|
||||||
<p>In your sandbox domain:</p>
|
<p>In your sandbox domain:</p>
|
||||||
<ul>
|
<ul>
|
||||||
<li>Right-click the High Fidelity Sandbox icon in your system tray and click “Settings”.</li>
|
<li>Right-click the Vircadia Sandbox icon in your system tray and click “Settings”.</li>
|
||||||
<li>In the “Scripts” section add a new row and paste in this script URL:<br />
|
<li>In the “Scripts” 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>
|
||||||
<li>Set the number of recordings you’d like to run at a given time in the “Instances” slot.</li>
|
<li>Set the number of recordings you’d like to run at a given time in the “Instances” slot.</li>
|
||||||
<li>Click “Save and restart”.</li>
|
<li>Click “Save and restart”.</li>
|
||||||
|
|
36
unpublishedScripts/marketplace/record/icon.svg
Normal file
36
unpublishedScripts/marketplace/record/icon.svg
Normal 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 |
Loading…
Reference in a new issue