Difference between revisions of "Avatar"
(add translation tag) |
(Marked this version for translation) |
||
(4 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
<languages/><translate> | <languages/><translate> | ||
− | + | <!--T:1--> | |
+ | <div style="text-align:right> | ||
+ | '''Computing and Science Fiction.''' ''A graphical representation of a person or''<br/> | ||
+ | ''character in a computer-generated environment, esp. one which represents''<br/> | ||
+ | ''a user in an interactive game or other setting, and which can move about in''<br/> | ||
+ | ''its surroundings and interact with other characters.''<br/> | ||
+ | {{em dash}} Oxford English Dictionary (draft entry), 2008. | ||
− | == Structure == | + | <!--T:27--> |
+ | ''Once a human being enters Habitat, he or she takes on the visual form of an Avatar,''<br/> | ||
+ | ''and for all intents and purposes becomes one of these new-world beings.''<br/> | ||
+ | {{em dash}} [https://en.wikipedia.org/wiki/Habitat_(video_game) Habitat], Lucasfilm Games, 1986. | ||
+ | </div> | ||
+ | |||
+ | <!--T:28--> | ||
+ | An '''avatar''' is the form of a user in a given world. | ||
+ | |||
+ | == Structure == <!--T:2--> | ||
An avatar is a hierarchy of slots, with an [[#Avatar Root|Avatar Root]] containing [[#Avatar Nodes|Avatar Nodes]] | An avatar is a hierarchy of slots, with an [[#Avatar Root|Avatar Root]] containing [[#Avatar Nodes|Avatar Nodes]] | ||
+ | <!--T:3--> | ||
In general, some components may (and do) appear in multiple places over the hierarchy of an avatar: | In general, some components may (and do) appear in multiple places over the hierarchy of an avatar: | ||
+ | <!--T:4--> | ||
{{Table ComponentCategoryComponents | {{Table ComponentCategoryComponents | ||
|AvatarUserReferenceAssigner|| [[#on avatar equip]], this assigns the reference of the user that equipped the avatar to the slot assigned to the assigner's target. | |AvatarUserReferenceAssigner|| [[#on avatar equip]], this assigns the reference of the user that equipped the avatar to the slot assigned to the assigner's target. | ||
Line 12: | Line 29: | ||
}} | }} | ||
− | === Avatar Root === | + | === Avatar Root === <!--T:5--> |
Any [[slot]] with an active [[AvatarRoot (Component)]] defines the root of an avatar. | Any [[slot]] with an active [[AvatarRoot (Component)]] defines the root of an avatar. | ||
+ | <!--T:6--> | ||
Commonly the avatar root will contain the following [[components]]: | Commonly the avatar root will contain the following [[components]]: | ||
+ | <!--T:7--> | ||
{{Table ComponentCategoryComponents | {{Table ComponentCategoryComponents | ||
|AvatarRoot|| Indicates that this slot is the root of an avatar. | |AvatarRoot|| Indicates that this slot is the root of an avatar. | ||
Line 23: | Line 42: | ||
}} | }} | ||
+ | <!--T:8--> | ||
Avatar roots of avatars created with the [[Avatar Creator]] have these additional [[components]]: | Avatar roots of avatars created with the [[Avatar Creator]] have these additional [[components]]: | ||
+ | <!--T:9--> | ||
{{Table ComponentCategoryComponents | {{Table ComponentCategoryComponents | ||
|AvatarGroup|| | |AvatarGroup|| | ||
Line 32: | Line 53: | ||
}} | }} | ||
+ | <!--T:10--> | ||
Humanoid avatars also contain: | Humanoid avatars also contain: | ||
+ | <!--T:11--> | ||
{{Table ComponentCategoryComponents | {{Table ComponentCategoryComponents | ||
|Rig|| | |Rig|| | ||
Line 41: | Line 64: | ||
}} | }} | ||
+ | <!--T:12--> | ||
Most often, an Avatar Root contains the [[#Avatar Node|Avatar Nodes]] proxies, [[#Centered Root]], and user defined [[Logix]] modules (modules do not need to be defined here, but they often are for ease of access). | Most often, an Avatar Root contains the [[#Avatar Node|Avatar Nodes]] proxies, [[#Centered Root]], and user defined [[Logix]] modules (modules do not need to be defined here, but they often are for ease of access). | ||
− | === Avatar Nodes === | + | === Avatar Nodes === <!--T:13--> |
Any [[slot]] under an [[#avatar root]] that contains an [[AvatarPoseNode (Component)]] is considered an avatar node. | Any [[slot]] under an [[#avatar root]] that contains an [[AvatarPoseNode (Component)]] is considered an avatar node. | ||
Most often, avatar nodes are direct children of the [[#Avatar Root|Avatar Root]]. | Most often, avatar nodes are direct children of the [[#Avatar Root|Avatar Root]]. | ||
+ | <!--T:14--> | ||
Avatar nodes represent a strongly identifiable piece of the avatar, such as LeftHand or Head. | Avatar nodes represent a strongly identifiable piece of the avatar, such as LeftHand or Head. | ||
+ | <!--T:15--> | ||
With [[VRIK (Component)|VRIK]]-based avatars an Avatar Node is named ''<pose node name> Proxy'' by convention, and contains: | With [[VRIK (Component)|VRIK]]-based avatars an Avatar Node is named ''<pose node name> Proxy'' by convention, and contains: | ||
* [[AvatarObjectComponentProxy (Component)]] - This copies the global transform of the avatar node, onto a target node (at least it appears to). Scans for the node kind identified by the [[AvatarPoseNode (Component)]] will find the target of the proxy as well. | * [[AvatarObjectComponentProxy (Component)]] - This copies the global transform of the avatar node, onto a target node (at least it appears to). Scans for the node kind identified by the [[AvatarPoseNode (Component)]] will find the target of the proxy as well. | ||
* A child [[slot]] named Target - This is where the part of the avatar model will actually try to go to. - Ex: A proxy moves to exactly where a VR tracker is in space, the Target offsets that tracker back to where that body part should be. - Avatar calibration is done by moving the Target [[slot]] under the proxies being calibrated. | * A child [[slot]] named Target - This is where the part of the avatar model will actually try to go to. - Ex: A proxy moves to exactly where a VR tracker is in space, the Target offsets that tracker back to where that body part should be. - Avatar calibration is done by moving the Target [[slot]] under the proxies being calibrated. | ||
+ | <!--T:16--> | ||
The [[Head]] node of the avatar is usually where the avatar's voice comes out of, and so usually contains these additional components: | The [[Head]] node of the avatar is usually where the avatar's voice comes out of, and so usually contains these additional components: | ||
+ | <!--T:17--> | ||
{{Table ComponentCategoryComponents | {{Table ComponentCategoryComponents | ||
|AvatarVoiceSourceAssigner || Assigns the audio stream of the user [[#on avatar equip]]. There may be multiple of these. | |AvatarVoiceSourceAssigner || Assigns the audio stream of the user [[#on avatar equip]]. There may be multiple of these. | ||
Line 63: | Line 91: | ||
}} | }} | ||
+ | <!--T:18--> | ||
In addition, the Head slot contains a child [[slot]] named Voice Range Visual. This is the whisper bubble, the slot is inactive unless the equipped user is in the [[whisper]] [[voice mode]]. This slot commonly contains: | In addition, the Head slot contains a child [[slot]] named Voice Range Visual. This is the whisper bubble, the slot is inactive unless the equipped user is in the [[whisper]] [[voice mode]]. This slot commonly contains: | ||
+ | <!--T:19--> | ||
{{Table ComponentCategoryComponents | {{Table ComponentCategoryComponents | ||
|MeshRenderer || The visual part of the whisper bubble. | |MeshRenderer || The visual part of the whisper bubble. | ||
Line 70: | Line 100: | ||
}} | }} | ||
− | ==== Centered Root - VRIK specific ==== | + | ==== Centered Root - VRIK specific ==== <!--T:20--> |
This slot represents where Neos thinks the center of the avatar is. | This slot represents where Neos thinks the center of the avatar is. | ||
− | == In World Lifecycle == | + | == In World Lifecycle == <!--T:21--> |
+ | |||
+ | == Tips == <!--T:25--> | ||
+ | |||
+ | === Blocking avatar equip === <!--T:26--> | ||
+ | |||
+ | <!--T:29--> | ||
+ | Apply the [[AvatarEquipBlock (Component)|AvatarEquipBlock]] component to the avatar's root. | ||
− | == See Also == | + | == See Also == <!--T:22--> |
− | === General avatar creation === | + | === General avatar creation === <!--T:23--> |
* [https://www.youtube.com/watch?v=EfFXUzW9OgY Neos VR Tutorial: Avatars Pt.1 - Your first Avatar] by [[User:ProbablePrime|ProbablePrime]] | * [https://www.youtube.com/watch?v=EfFXUzW9OgY Neos VR Tutorial: Avatars Pt.1 - Your first Avatar] by [[User:ProbablePrime|ProbablePrime]] | ||
* [https://www.youtube.com/watch?v=MVRgKqaKZGo Neos VR Tutorial: Avatars Pt.2 - Setting up a known Avatar Model] by [[User:ProbablePrime|ProbablePrime]] | * [https://www.youtube.com/watch?v=MVRgKqaKZGo Neos VR Tutorial: Avatars Pt.2 - Setting up a known Avatar Model] by [[User:ProbablePrime|ProbablePrime]] | ||
Line 86: | Line 123: | ||
* [https://www.youtube.com/watch?v=Pr5bTGCqpJg Neos VR Tutorial: Avatars Pt.4 - Importing Unity Package Contents into Neos] by [[User:ProbablePrime|ProbablePrime]] | * [https://www.youtube.com/watch?v=Pr5bTGCqpJg Neos VR Tutorial: Avatars Pt.4 - Importing Unity Package Contents into Neos] by [[User:ProbablePrime|ProbablePrime]] | ||
− | === Avatar modification and customization === | + | === Avatar modification and customization === <!--T:24--> |
* [https://www.youtube.com/watch?v=qCIgn9iUiqM Neos VR Tutorial: Customizing your Whisper Bubble] by [[User:ProbablePrime|ProbablePrime]] | * [https://www.youtube.com/watch?v=qCIgn9iUiqM Neos VR Tutorial: Customizing your Whisper Bubble] by [[User:ProbablePrime|ProbablePrime]] | ||
* [https://www.youtube.com/watch?v=KKX9yoiGvRA Neos VR Tutorial: Remote Audio for your Avatar] by [[User:ProbablePrime|ProbablePrime]] | * [https://www.youtube.com/watch?v=KKX9yoiGvRA Neos VR Tutorial: Remote Audio for your Avatar] by [[User:ProbablePrime|ProbablePrime]] |
Latest revision as of 16:54, 2 October 2021
Computing and Science Fiction. A graphical representation of a person or
character in a computer-generated environment, esp. one which represents
a user in an interactive game or other setting, and which can move about in
its surroundings and interact with other characters.
— Oxford English Dictionary (draft entry), 2008.
Once a human being enters Habitat, he or she takes on the visual form of an Avatar,
and for all intents and purposes becomes one of these new-world beings.
— Habitat, Lucasfilm Games, 1986.
An avatar is the form of a user in a given world.
Structure
An avatar is a hierarchy of slots, with an Avatar Root containing Avatar Nodes
In general, some components may (and do) appear in multiple places over the hierarchy of an avatar:
Components | |
---|---|
Component | Summary |
AvatarUserReferenceAssigner | #on avatar equip, this assigns the reference of the user that equipped the avatar to the slot assigned to the assigner's target. |
SimpleAwayIndicator | This applies the away material to a mesh target MeshRenderer or SkinnedMeshRenderer when the user equipping the avatar goes to away state. |
Avatar Root
Any slot with an active AvatarRoot (Component) defines the root of an avatar.
Commonly the avatar root will contain the following components:
Components | |
---|---|
Component | Summary |
AvatarRoot | Indicates that this slot is the root of an avatar. |
Grabbable | Indicates the avatar can be grabbed. |
ObjectRoot | Indicates that this slot is the root of an object. |
Avatar roots of avatars created with the Avatar Creator have these additional components:
Components | |
---|---|
Component | Summary |
AvatarGroup | |
PBS_RimMetallic | The #away material of the avatar. |
SimpleAvatarProtection | Sets permissions such that only the user bound to the avatar may equip and save it. |
MeshRendererMaterialRelay |
Humanoid avatars also contain:
Components | |
---|---|
Component | Summary |
Rig | |
BipedRig | |
VRIK | Computes the logic to map the input #IK Targets to #IK Proxies. |
VRIKAvatar | Chooses when and how to bind the User's controls to the #IK Proxies. |
Most often, an Avatar Root contains the Avatar Nodes proxies, #Centered Root, and user defined Logix modules (modules do not need to be defined here, but they often are for ease of access).
Avatar Nodes
Any slot under an #avatar root that contains an AvatarPoseNode (Component) is considered an avatar node. Most often, avatar nodes are direct children of the Avatar Root.
Avatar nodes represent a strongly identifiable piece of the avatar, such as LeftHand or Head.
With VRIK-based avatars an Avatar Node is named <pose node name> Proxy by convention, and contains:
- AvatarObjectComponentProxy (Component) - This copies the global transform of the avatar node, onto a target node (at least it appears to). Scans for the node kind identified by the AvatarPoseNode (Component) will find the target of the proxy as well.
- A child slot named Target - This is where the part of the avatar model will actually try to go to. - Ex: A proxy moves to exactly where a VR tracker is in space, the Target offsets that tracker back to where that body part should be. - Avatar calibration is done by moving the Target slot under the proxies being calibrated.
The Head node of the avatar is usually where the avatar's voice comes out of, and so usually contains these additional components:
Components | |
---|---|
Component | Summary |
AvatarVoiceSourceAssigner | Assigns the audio stream of the user #on avatar equip. There may be multiple of these. |
AvatarAudioOutputManager | Configures the avatar's AudioOutput with the configured settings based on the user voice setting. |
AudioOutput | Emits the user's voice. Many fields on this component are driven by the AvatarAudioOutputManager. |
AvatarVoiceRangeVisualizer | Configures the whisper bubble for the user based off AvatarAudioOutputManager provided settings. |
VisemeAnalyzer | Computes the values to be routed to DirectVisemeDriver elsewhere in the avatar, which drives blendshape movements. |
In addition, the Head slot contains a child slot named Voice Range Visual. This is the whisper bubble, the slot is inactive unless the equipped user is in the whisper voice mode. This slot commonly contains:
Components | |
---|---|
Component | Summary |
MeshRenderer | The visual part of the whisper bubble. |
PBS_IntersectMetallic | The material applied to the whisper bubble. Changes based on the user's audio volume. |
Centered Root - VRIK specific
This slot represents where Neos thinks the center of the avatar is.
In World Lifecycle
Tips
Blocking avatar equip
Apply the AvatarEquipBlock component to the avatar's root.
See Also
General avatar creation
- Neos VR Tutorial: Avatars Pt.1 - Your first Avatar by ProbablePrime
- Neos VR Tutorial: Avatars Pt.2 - Setting up a known Avatar Model by ProbablePrime
- Neos VR Tutorial: Avatars Pt.2.5 - Saving an avatar you've made by ProbablePrime
- Neos VR Tutorial: Avatars Pt.3 - Working with multiple Materials by ProbablePrime
- Neos VR Tutorial: Avatars Pt.4 - Importing Unity Package Contents into Neos by ProbablePrime
Avatar modification and customization
- Neos VR Tutorial: Customizing your Whisper Bubble by ProbablePrime
- Neos VR Tutorial: Remote Audio for your Avatar by ProbablePrime
- Neos VR Tutorial: Setting up an Avatar without fingers for Physical Buttons by ProbablePrime
- Neos VR Tutorial: Manual Viseme Setup for Problematic Avatars by ProbablePrime
- Neos VR Tutorial: Manual Eye setup for tricky Avatars by ProbablePrime
- Neos VR Tutorial: Setting up a Near Clip for your Avatars by ProbablePrime
- Neos VR Tutorial: Driving Blendshapes with Multiple Gestures Example/Discussion by ProbablePrime
- Neos VR Tutorial: Moving your Avatars view point by ProbablePrime
- Neos VR Tutorial: Custom Hands for Head and Hands Avatars by ProbablePrime
- Neos VR Quick Tutorial: Change Shader / Material Type on an Avatar by ProbablePrime
- Neos VR Tutorial: Making Avatar UI only you can see! by ProbablePrime