【Unity】API:Animator.StringToHash字符串到哈希
public static int StringToHash(string name);
Parameters 参数unity3d animation
name The string to convert to Id.
该字符串转换到ID
Description 描述
Generates an parameter id from a string.
从字符串⽣成⼀个参数ID。
Ids are used for optimized setters and getters on parameters.
ID是⽤于参数的存取器优化(setters 和 getters)。
当使⽤Animator时,如果要引⽤某个状态或者参数,有两种⽅法。
1:通过字符串名称
2:通过整数“Hash ID”
通过“Hash ID”更有优势,因为不容易出错,且更加⾼效。
两种的使⽤⽅式不同。animation状态或者parameters的字符串(Tag)需要通过对象使⽤;但是“Hash ID”不需要,他是Animator的静态⽅法。
由于这些参数会经常使⽤,将它们放在同⼀个脚本中,统⼀得到,统⼀管理,⽅便使⽤。
例如:官⽅案例–Stealth中
public class DoneHashIDs : MonoBehaviour
{
// Here we store the hash tags for various strings used in our animators.
public int dyingState;
public int locomotionState;
public int shoutState;
public int deadBool;
public int speedFloat;
public int sneakingBool;
public int shoutingBool;
public int playerInSightBool;
public int shotFloat;
public int aimWeightFloat;
public int angularSpeedFloat;
public int openBool;
void Awake ()
{
dyingState = Animator.StringToHash("Base Layer.Dying");
locomotionState = Animator.StringToHash("Base Layer.Locomotion");
shoutState = Animator.StringToHash("Shouting.Shout");
deadBool = Animator.StringToHash("Dead");
speedFloat = Animator.StringToHash("Speed");
sneakingBool = Animator.StringToHash("Sneaking");
shoutingBool = Animator.StringToHash("Shouting");
playerInSightBool = Animator.StringToHash("PlayerInSight");
shotFloat = Animator.StringToHash("Shot");
aimWeightFloat = Animator.StringToHash("AimWeight");
angularSpeedFloat = Animator.StringToHash("AngularSpeed");
openBool = Animator.StringToHash("Open");
}
}

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。