Sansar Docs
  • 🚀Welcome to Sansar
  • 📚GLOSSARY
  • 🎏Patch Notes
  • 😇Work in Progress
  • ⚠️Creative Commons License
  • Support
    • General Troubleshooting
      • General FAQ
      • The Sansar Cache
      • The Sansar Log
    • Contact Support
  • Sansar Basics
    • Installation And Compatibility
      • Installing Sansar
      • System Requirements
      • Sansar Compatibility FAQ
      • Sansar on Mac
      • Body Tracking Vive
      • Configuring Firewalls
    • Account Management
      • Account Set Up
      • Avatar Name and ID
      • Adding Payment Method
      • Discord FAQ
      • Steam Integration
      • Subscription FAQ
    • Controls
      • Avatar Hand Gestures in VR
      • FreeCam and CineCam
      • Game Controller Buttons
      • HTC VIVE controls
      • Keyboard Shortcuts for Editing a Scene
      • Keyboard Shortcuts for Styling Your Avatar
      • Keyboard Shortcuts for Visiting an Experience
      • Mouselook Mode
      • Oculus Rift Controls
      • Vive Index Controls
    • Settings
      • General Settings
    • VR Settings
      • VR Settings Menu
      • Calibrating Height in VR
  • Exploring in Sansar
    • Navigate and Explore
      • The Codex
      • Instances
      • Interactive objects
      • The Main Menu
      • The Nexus
      • Portals
      • Quests
      • Quick Start: Exploring in Sansar
    • Socialize And Connect
      • Chat Panel
      • Experience Points, Levels, and Titles.
      • Finding People in Sansar
      • Identifying Interacting With Avatars
      • The People panel
      • User profiles
    • Attending events
      • Deploying Unpublished Event to Event World
      • Adding Events to Your Calendar
      • Attending Events in Sansar
      • Avatar Broadcasting FAQ
      • Creating Your Own Events
      • Redemption Codes
      • Tipping
    • Share Content
      • Streaming Sansar
      • Taking a photo
  • Avatar Creation
    • Avatar Basics
      • Avatar 2.0 FAQ
      • Customizing Your Avatar
      • Avatar Emotes
      • The Avatar Editor
    • Dressing The Avatar
      • Fitting Designer Clothing to your Avatar
      • Setting Custom Emotes
      • Wearing Accessories
      • Wearing Rigged Clothing
    • Managing Avatar Items
      • Importing Avatar-Related Items
      • Editing an inventory item's name
      • Editing an inventory item's image
      • Deleting avatar looks from your inventory
      • Importing a custom emote animation
      • Managing your avatar looks inventory items
    • Avatar Resources
      • Avatar Reference Files
      • Blender - Avatar files
      • Blender - Using Decimate Tool
      • Exporting Custom Avatars From Blender
      • Sansar Skeleton Skinning Details
      • Using Animation Skeleton
  • Creating In Sansar
    • Importing Things to Sansar
      • Supported file types
      • AABB Bounding Box and Item Restrictions
      • Importing Audio
      • Importing a Custom Avatar
      • Importing World Items
      • Importing Collision Volumes
      • Importing Accessories
      • Importing Clothing
      • Importing Emotes
      • Importing Hair
      • Importing Custom Scripts
      • Importing a Skybox
      • Troubleshooting Import Errors
    • Shaders and Materials
      • Shaders Information
      • Materials Information
      • VAT Shader Guides
        • VAT Shader Basics
        • VAT Technical Info
      • Displacement Guides
        • Simple Displacement
        • Advanced Displacement
    • Marvelous Designer Info
      • Marvelous Designer Integration
      • Marvelous Designer Creator Resources
      • Marvelous Import and Export
      • MD Limitations
    • Shader Scripting
    • Materials editing and shaders
    • Creator Tools
      • Creating a World
      • Creating Quests
      • Diagnostics Toolbar
      • Importing Items to Sansar
      • My Worlds Panel
    • Managing Worlds
      • Quick start: Creating experiences in Sansar
      • Deleting an experience or scene
      • Deploying a new scene to an existing experience
      • Editing a scene
      • Experience memos
      • Linking A Scene To A World
      • Managing your scenes and worlds
      • Moderation Tools for World Owners
      • Publishing Options for Your Experiences
      • Renaming a scene
      • Saving and Building A Scene
      • Sharing Your Experiences
      • Visiting your own experience
    • Part Of The World Editor
      • Object Stats Toolbar
      • Object Components
      • Parenting objects
      • Scene Item Inventory
      • Scene Objects Panel
      • Collision Volumes
      • Scene Settings
      • System objects
      • Object Motion Types
    • Working With Scripts
      • Working With Scripts
      • Working With Trigger Volume
      • Referencing Scene Components
      • Intro to Scripting in Sansar
      • Using the Script Console
      • Setting Script Parameters
      • Adding Scripts to an Object
      • Configuring Teleport Scripts
      • Simple Script User Guide
    • Working With Audio and Video
      • Working With Audio
      • Creating Media surface
      • Streaming Web Audio
      • Audio Emitter
      • Sansar Audio FAQ
      • Using Media Streams
      • Ambisonic Sounds
      • High Quality Spacial Audio
      • Audio Resource - Room Tones
      • Previewing Audio and Video in a Scene
      • Using Audio Materials
    • Working With Lights
      • Working With Lights
      • Light Types
      • Global Illumination
  • Sansar Store
    • Using the Sansar Store
      • The Sansar Store
      • Buying Items From The Store
      • Redelivering Lost Purchases
    • Buying and Selling Sansar Dollars
      • Gifting Sansar Dollars
      • Buying Sansar Dollars
      • Converting Sansar Dollars
      • Processing US Dollar Credit
    • Selling Your Content
      • Hidden Store Listings
      • Selling Items in Sansar Store
      • Selling Items in an Experience
      • Allowing Resale Of Items
      • Buyers Permissions
  • Guidelines and Moderation
    • Guidelines and Policies
      • Terms of service
      • Sansar's Discord Server Rules
      • Community Standards
      • Content Guidelines
      • World Publishing Guidelines
      • Store Listing Guidelines
      • Store Banner Guidelines
      • Event Guidelines
      • Privacy Policy
      • Sansar Freeware License Agreement
      • Intellectual Property Infringement Notification
      • Cookie Policy
    • Moderation and Reporting
      • Abuse and Griefing
      • Blocking Avatars
      • Muting Avatars
      • Reporting abuse
      • Reporting issues and bugs
      • Security issues
  • Script API Docs
    • General Information
      • External Script Repository's
      • Sansar Script API
      • Script API Updates
      • Restricted API's
    • Example Scripts
      • Example Scripts in Sansar
      • Cannonball
      • Follow The Path
      • Random Movement
      • Reflective Detector
      • Simple Script
      • Sound Randomizer
      • Stats Example
      • Teleport Hotkeys
      • Visitor Tracker
      • Mover Examples
    • Sansar Namespace
      • Namespace
      • Color
      • Mathf
      • Quarterion
      • Vector
      • Vector Extensions
    • Sansar.Script Namespace
      • AddEntryAttribute
      • CancelData
      • ComponentID
      • CoroutineException
      • Default Attributes
      • Editor Visible Attribute
      • Entries Attribute
      • Event Data
      • ICoroutine
      • IEvent Subscription
      • Instance Interface
      • Locked Attribute
      • Log
      • MaxEntriesAttribute
      • Memory
      • MinEntriesAttribute
      • NonReflectiveAttribute
      • ObjectID
      • OperationCompleteEvent
      • RangeAttribute
      • Reflective
      • Script.Base
      • Script Event Data
      • Script Handle
      • ScriptID
      • SessionID
      • Simple Script Event Data
      • ThrottleException
      • Timer
      • Tooltip Attribute
    • MetaData Namespace
      • Assembly MetaData
      • Script MetaData
    • Sansar Script Testing Namespace
      • Assertion Failure Exception
      • Assertions
    • Sansar Utility Namespace
      • GenericEnumerable <T>
      • GenericEnumerable<T>.GetItem
      • JSON Serialization Data
      • JSON Serialization Data 1
      • JSON Serializer
      • JSON Serializer Options
    • Sansar Simulation Namespace
      • Agent Info
      • Animation
      • Audio Component
      • Camera Control Mode
      • Character Tracker
      • Chat
      • Client
      • Cluster
      • Command Action and Data
      • Component Type
      • Control Point Type
      • Held Object
      • HTTP
      • Interaction
      • Light
      • Media Action
      • Mesh Component
      • Modal Dialogue
      • Move Mode and Mover
      • Objective
      • PlayHandle
      • PlaySettings
      • PlayStatus
      • Quest
      • RayCastHit
      • Rigid Body
      • Scene
      • Scene Public
      • Simple Script
      • Sit Event Type
      • Sit Object Data
      • Sound Resource
      • Stream Channel
      • Tutorial Hint
      • UI
      • User Data
Powered by GitBook
On this page
  • Quaternion Struct
  • Syntax
  • Member Details
  1. Script API Docs
  2. Sansar Namespace

Quarterion

PreviousMathfNextVector

Last updated 6 months ago

Quaternion Struct

Represents a quaternion orientation.

Syntax

public struct Quaternion

Member Details

Quaternion Constructor

Creates a new quaternion with the supplied values.

Syntax

public Quaternion ([System.Runtime.CompilerServices.IsReadOnly] ref v)

Parameters

v

Initializes the quaternion from a .

Remarks

Requirements

Namespace: Sansar Assembly: Sansar.Script (in Sansar.Script.dll) Assembly Versions: 1.0.0.0


Quaternion Constructor

Creates a new quaternion with the supplied values.

Syntax

Parameters

x

The x coordinate.

y

The y coordinate.

z

The z coordinate.

w

The w coordinate.

Remarks

Requirements

Namespace: Sansar Assembly: Sansar.Script (in Sansar.Script.dll) Assembly Versions: 1.0.0.0


Dot Method

Performs a scalar or dot product.

Syntax

Parameters

b

The second quaternion.

Returns

Returns X*b.X+Y*b.Y+Z*b.Z+W*b.W

Remarks

Requirements

Namespace: Sansar Assembly: Sansar.Script (in Sansar.Script.dll) Assembly Versions: 1.0.0.0


FromAngleAxis Method

Generates the corresponding quaternion.

Syntax

Parameters

angle

Angle of rotation in radians

axis

A normalized axis of rotation

Returns

The corresponding quaternion.

Remarks

Requirements

Namespace: Sansar Assembly: Sansar.Script (in Sansar.Script.dll) Assembly Versions: 1.0.0.0


FromEulerAngles Method

Generates the corresponding quaternion.

Syntax

Parameters

a

A vector of angles in radians.

Returns

The corresponding quaternion.

Remarks

Requirements

Namespace: Sansar Assembly: Sansar.Script (in Sansar.Script.dll) Assembly Versions: 1.0.0.0


FromLook Method

Creates a new rotation with the specified direction and up vectors.

Syntax

Parameters

facing

The direction to look.

up

The up direction.

Returns

A new quaternion representing this rotation.

Remarks

Requirements

Namespace: Sansar Assembly: Sansar.Script (in Sansar.Script.dll) Assembly Versions: 1.0.0.0


FromLookOrthoNormal Method

Creates a new rotation with the specified direction and up vectors.

Syntax

Parameters

facing

The direction to look.

up

The up direction.

left

The left direction.

Returns

A new quaternion representing this rotation.

Remarks

Requirements

Namespace: Sansar Assembly: Sansar.Script (in Sansar.Script.dll) Assembly Versions: 1.0.0.0


GetEulerAngles Method

Converts this rotation to a vector of euler angles

Syntax

Returns

A vector of angles in radians corresponding to this quaternion.

Remarks

Requirements

Namespace: Sansar Assembly: Sansar.Script (in Sansar.Script.dll) Assembly Versions: 1.0.0.0


Identity Field

The identity quaternion.

Syntax

Remarks

Requirements

Namespace: Sansar Assembly: Sansar.Script (in Sansar.Script.dll) Assembly Versions: 1.0.0.0


Inverse Method

Gets the Inverse of the quaternion.

Syntax

Returns

A quaternion inverse, such that q * q.Inverse() == q.Inverse() * q == Quaternion.Identity

Remarks

Requirements

Namespace: Sansar Assembly: Sansar.Script (in Sansar.Script.dll) Assembly Versions: 1.0.0.0


Item Property

Allows getting coordinates by index.

Syntax

This is the default property for this class.

Parameters

index

0=>X, 1=>Y, 2=>Z, 3=>W

Value

Remarks

Requirements

Namespace: Sansar Assembly: Sansar.Script (in Sansar.Script.dll) Assembly Versions: 1.0.0.0


Length Method

Calculates the length of this quaternion.

Syntax

Returns

The length of the quaternion.

Remarks

Requirements

Namespace: Sansar Assembly: Sansar.Script (in Sansar.Script.dll) Assembly Versions: 1.0.0.0


LengthSquared Method

Calculates the length squared of this quaternion.

Syntax

Returns

The magnitude of the vector.

Remarks

Requirements

Namespace: Sansar Assembly: Sansar.Script (in Sansar.Script.dll) Assembly Versions: 1.0.0.0


Normalized Method

Returns a quaternion with the same orientation and unit length.

Syntax

Returns

A quaternion with the same orientation and unit length.

Remarks

Requirements

Namespace: Sansar Assembly: Sansar.Script (in Sansar.Script.dll) Assembly Versions: 1.0.0.0


Conversion Method

Converts a Mono.Simd.Vector4f to a quaternion.

Syntax

Parameters

v

The vector to convert

Returns

Remarks

Requirements

Namespace: Sansar Assembly: Sansar.Script (in Sansar.Script.dll) Assembly Versions: 1.0.0.0


Conversion Method

Converts a quaternion to a Mono.Simd.Vector4f.

Syntax

Parameters

v

The quaternion to convert

Returns

Remarks

Requirements

Namespace: Sansar Assembly: Sansar.Script (in Sansar.Script.dll) Assembly Versions: 1.0.0.0


op_Multiply Method

Multiplies two quaternions.

Syntax

Parameters

a

The first quaternion

b

The second quaternion

Returns

Returns the composed orientation for the two quaternions.

Remarks

Requirements

Namespace: Sansar Assembly: Sansar.Script (in Sansar.Script.dll) Assembly Versions: 1.0.0.0


op_UnaryNegation Method

Negates a quaternion

Syntax

Parameters

q

The quaternion to negate

Returns

Remarks

Requirements

Namespace: Sansar Assembly: Sansar.Script (in Sansar.Script.dll) Assembly Versions: 1.0.0.0


Parse Method

Parse a Quaternion from a string.

Syntax

Parameters

quaternionString

A string of the format "[X,Y,Z,W]"

Returns

The Quaternion parsed from quaternionString.

Exceptions

Type
Reason

If quaternionString is null.

If the string is not a valid quaternion or its components are not valid floats.

Remarks

Example

C# Example

Requirements

Namespace: Sansar Assembly: Sansar.Script (in Sansar.Script.dll) Assembly Versions: 1.0.0.0


ShortestRotation Method

Generates the shortest rotation quaternion to rotate from one vector to another.

Syntax

Parameters

from

Vector rotating from.

to

Vector rotating to.

Returns

The corresponding quaternion.

Remarks

Requirements

Namespace: Sansar Assembly: Sansar.Script (in Sansar.Script.dll) Assembly Versions: 1.0.0.0


ToAngleAxis Method

Gets the angle-axis representation

Syntax

Parameters

angle

Angle of rotation in radians

axis

A normalized axis of rotation

Remarks

Requirements

Namespace: Sansar Assembly: Sansar.Script (in Sansar.Script.dll) Assembly Versions: 1.0.0.0


ToString Method

Generates a string representation of the quaternion.

Syntax

Returns

The quaternion as a string.

Remarks

Requirements

Namespace: Sansar Assembly: Sansar.Script (in Sansar.Script.dll) Assembly Versions: 1.0.0.0


ToString Method

Generates a string representation of the quaternion.

Syntax

Parameters

format

Format to use for each of the coordinates.

Returns

The quaternion as a string.

Remarks

Requirements

Namespace: Sansar Assembly: Sansar.Script (in Sansar.Script.dll) Assembly Versions: 1.0.0.0


TryParse Method

Try to parse a Quaternion from a string.

Syntax

Parameters

quaternionString

A string of the format "[X,Y,Z,W]"

quaternion

The quaternion that will be set if quaternionString represents a valid quaternion.

Returns

True if successfully parsed a quaternion, false if not.

Remarks

Example

C# Example

        if (Quaternion.TryParse("[0.0,0.0,0.0,1.0]", out myQuat)
        {
            // myQuat is set.
        }

|

Requirements

Namespace: Sansar Assembly: Sansar.Script (in Sansar.Script.dll) Assembly Versions: 1.0.0.0


W Property

The W coordinate of the quaternion.

Syntax

Value

Remarks

Requirements

Namespace: Sansar Assembly: Sansar.Script (in Sansar.Script.dll) Assembly Versions: 1.0.0.0


X Property

The X coordinate of the quaternion.

Syntax

Value

Remarks

Requirements

Namespace: Sansar Assembly: Sansar.Script (in Sansar.Script.dll) Assembly Versions: 1.0.0.0


Y Property

The Y coordinate of the quaternion.

Syntax

Value

Remarks

Requirements

Namespace: Sansar Assembly: Sansar.Script (in Sansar.Script.dll) Assembly Versions: 1.0.0.0


Z Property

The Z coordinate of the quaternion.

Syntax

Value

Remarks

Requirements

Namespace: Sansar Assembly: Sansar.Script (in Sansar.Script.dll) Assembly Versions: 1.0.0.0



public Dot ([System.Runtime.CompilerServices.IsReadOnly] ref b)

public static FromAngleAxis ( angle, [System.Runtime.CompilerServices.IsReadOnly] ref axis)

public static FromEulerAngles ([System.Runtime.CompilerServices.IsReadOnly] ref a)

public static FromLookOrthoNormal ([System.Runtime.CompilerServices.IsReadOnly] ref facing, [System.Runtime.CompilerServices.IsReadOnly] ref up, [System.Runtime.CompilerServices.IsReadOnly] ref left)

public GetEulerAngles ()

public static readonly Identity

public this [ index] { get; set; }

public Length ()

public LengthSquared ()

public static operator* ([System.Runtime.CompilerServices.IsReadOnly] ref a, [System.Runtime.CompilerServices.IsReadOnly] ref b)

public static ShortestRotation ([System.Runtime.CompilerServices.IsReadOnly] ref from, [System.Runtime.CompilerServices.IsReadOnly] ref to)

public override ToString ()

public W { get; set; }

public X { get; set; }

public Y { get; set; }

public Z { get; set; }

Quaternion myQuat = Quaternion.Parse("[0.0,0.0,0.0,1.0]");
Quaternion myQuat;
Mono.Simd.Vector4f
Mono.Simd.Vector4f
float
Quaternion
Quaternion
float
Vector
Quaternion
Vector
Quaternion
Vector
Vector
Vector
Vector
Quaternion
float
int
float
float
Quaternion
Quaternion
Quaternion
Quaternion
Vector
Vector
string
float
float
float
float
ArgumentException
FormatException