Added player character and step in/out of dialogue in scene 101
This commit is contained in:
+193
@@ -0,0 +1,193 @@
|
||||
using System;
|
||||
using UnityEngine;
|
||||
|
||||
namespace UnityEngine.ProBuilder.Csg
|
||||
{
|
||||
/// <summary>
|
||||
/// Holds information about a single vertex, and provides methods for averaging between many.
|
||||
/// <remarks>All values are optional. Where not present a default value will be substituted if necessary.</remarks>
|
||||
/// </summary>
|
||||
struct Vertex
|
||||
{
|
||||
Vector3 m_Position;
|
||||
Color m_Color;
|
||||
Vector3 m_Normal;
|
||||
Vector4 m_Tangent;
|
||||
Vector2 m_UV0;
|
||||
Vector2 m_UV2;
|
||||
Vector4 m_UV3;
|
||||
Vector4 m_UV4;
|
||||
VertexAttributes m_Attributes;
|
||||
|
||||
/// <value>
|
||||
/// The position in model space.
|
||||
/// </value>
|
||||
public Vector3 position
|
||||
{
|
||||
get { return m_Position; }
|
||||
set
|
||||
{
|
||||
hasPosition = true;
|
||||
m_Position = value;
|
||||
}
|
||||
}
|
||||
|
||||
/// <value>
|
||||
/// Vertex color.
|
||||
/// </value>
|
||||
public Color color
|
||||
{
|
||||
get { return m_Color; }
|
||||
set
|
||||
{
|
||||
hasColor = true;
|
||||
m_Color = value;
|
||||
}
|
||||
}
|
||||
|
||||
/// <value>
|
||||
/// Unit vector normal.
|
||||
/// </value>
|
||||
public Vector3 normal
|
||||
{
|
||||
get { return m_Normal; }
|
||||
set
|
||||
{
|
||||
hasNormal = true;
|
||||
m_Normal = value;
|
||||
}
|
||||
}
|
||||
|
||||
/// <value>
|
||||
/// Vertex tangent (sometimes called binormal).
|
||||
/// </value>
|
||||
public Vector4 tangent
|
||||
{
|
||||
get { return m_Tangent; }
|
||||
set
|
||||
{
|
||||
hasTangent = true;
|
||||
m_Tangent = value;
|
||||
}
|
||||
}
|
||||
|
||||
/// <value>
|
||||
/// UV 0 channel. Also called textures.
|
||||
/// </value>
|
||||
public Vector2 uv0
|
||||
{
|
||||
get { return m_UV0; }
|
||||
set
|
||||
{
|
||||
hasUV0 = true;
|
||||
m_UV0 = value;
|
||||
}
|
||||
}
|
||||
|
||||
/// <value>
|
||||
/// UV 2 channel.
|
||||
/// </value>
|
||||
public Vector2 uv2
|
||||
{
|
||||
get { return m_UV2; }
|
||||
set
|
||||
{
|
||||
hasUV2 = true;
|
||||
m_UV2 = value;
|
||||
}
|
||||
}
|
||||
|
||||
/// <value>
|
||||
/// UV 3 channel.
|
||||
/// </value>
|
||||
public Vector4 uv3
|
||||
{
|
||||
get { return m_UV3; }
|
||||
set
|
||||
{
|
||||
hasUV3 = true;
|
||||
m_UV3 = value;
|
||||
}
|
||||
}
|
||||
|
||||
/// <value>
|
||||
/// UV 4 channel.
|
||||
/// </value>
|
||||
public Vector4 uv4
|
||||
{
|
||||
get { return m_UV4; }
|
||||
set
|
||||
{
|
||||
hasUV4 = true;
|
||||
m_UV4 = value;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Find if a vertex attribute has been set.
|
||||
/// </summary>
|
||||
/// <param name="attribute">The attribute or attributes to test for.</param>
|
||||
/// <returns>True if this vertex has the specified attributes set, false if they are default values.</returns>
|
||||
public bool HasArrays(VertexAttributes attribute)
|
||||
{
|
||||
return (m_Attributes & attribute) == attribute;
|
||||
}
|
||||
|
||||
public bool hasPosition
|
||||
{
|
||||
get { return (m_Attributes & VertexAttributes.Position) == VertexAttributes.Position; }
|
||||
private set { m_Attributes = value ? (m_Attributes | VertexAttributes.Position) : (m_Attributes & ~(VertexAttributes.Position)); }
|
||||
}
|
||||
|
||||
public bool hasColor
|
||||
{
|
||||
get { return (m_Attributes & VertexAttributes.Color) == VertexAttributes.Color; }
|
||||
private set { m_Attributes = value ? (m_Attributes | VertexAttributes.Color) : (m_Attributes & ~(VertexAttributes.Color)); }
|
||||
}
|
||||
|
||||
public bool hasNormal
|
||||
{
|
||||
get { return (m_Attributes & VertexAttributes.Normal) == VertexAttributes.Normal; }
|
||||
private set { m_Attributes = value ? (m_Attributes | VertexAttributes.Normal) : (m_Attributes & ~(VertexAttributes.Normal)); }
|
||||
}
|
||||
|
||||
public bool hasTangent
|
||||
{
|
||||
get { return (m_Attributes & VertexAttributes.Tangent) == VertexAttributes.Tangent; }
|
||||
private set { m_Attributes = value ? (m_Attributes | VertexAttributes.Tangent) : (m_Attributes & ~(VertexAttributes.Tangent)); }
|
||||
}
|
||||
|
||||
public bool hasUV0
|
||||
{
|
||||
get { return (m_Attributes & VertexAttributes.Texture0) == VertexAttributes.Texture0; }
|
||||
private set { m_Attributes = value ? (m_Attributes | VertexAttributes.Texture0) : (m_Attributes & ~(VertexAttributes.Texture0)); }
|
||||
}
|
||||
|
||||
public bool hasUV2
|
||||
{
|
||||
get { return (m_Attributes & VertexAttributes.Texture1) == VertexAttributes.Texture1; }
|
||||
private set { m_Attributes = value ? (m_Attributes | VertexAttributes.Texture1) : (m_Attributes & ~(VertexAttributes.Texture1)); }
|
||||
}
|
||||
|
||||
public bool hasUV3
|
||||
{
|
||||
get { return (m_Attributes & VertexAttributes.Texture2) == VertexAttributes.Texture2; }
|
||||
private set { m_Attributes = value ? (m_Attributes | VertexAttributes.Texture2) : (m_Attributes & ~(VertexAttributes.Texture2)); }
|
||||
}
|
||||
|
||||
public bool hasUV4
|
||||
{
|
||||
get { return (m_Attributes & VertexAttributes.Texture3) == VertexAttributes.Texture3; }
|
||||
private set { m_Attributes = value ? (m_Attributes | VertexAttributes.Texture3) : (m_Attributes & ~(VertexAttributes.Texture3)); }
|
||||
}
|
||||
|
||||
public void Flip()
|
||||
{
|
||||
if(hasNormal)
|
||||
m_Normal *= -1f;
|
||||
|
||||
if (hasTangent)
|
||||
m_Tangent *= -1f;
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user