Синтаксис:
Используется csharp
public static void StartWalk(int StartPos)
{
if (tmpWalk.Lst.Count > 1)
{
flAddWalkPlay = StartPos+1;
Position cp = (Position)tmpWalk.Lst[StartPos];
walkCurPos = walkOldPos = cp.Vec3();
walkOldTime = Time.time;
//transform.LookAt();
}
}
void DoWalk()
{
if ((flAddWalkPlay >= 0) & (tmpWalk.Lst.Count>1))
{
Position cp = (Position)tmpWalk.Lst[flAddWalkPlay];
Vector3 v3 = cp.Vec3();
if (walkCurPos != v3)
{
walkSpeed = (Time.time - walkOldTime) / WalkTimeLept;
walkCurPos = Vector3.Lerp(walkOldPos, v3, walkSpeed);
transform.position = walkCurPos;
//transform.LookAt(v3);
rotator.position=v3;
transform.rotation = Quaternion.LookRotation(v3) * rotator.transform.rotation;[/color]
}
else
{
if (flAddWalkPlay == (tmpWalk.Lst.Count - 1))
{
//êîíåö äâèæåíèÿ
flAddWalkPlay = -1;
transform.LookAt(v3);
}
else
{
StartWalk(flAddWalkPlay);
}
}
}
}
// Update is called once per frame
void Update () {
DoWalk();
foreach (char c in Input.inputString)
{
// Backspace - Remove the last character
if (c.ToString() == "\b")
//if (c. == KeyCode.Backspace)
//if (System.Convert.ToByte(c) == KeyCode.Backspace)
{
if (txtPosName.Length != 0)
txtPosName = txtPosName.Substring(0, txtPosName.Length - 1);
}
else
{
if (c.ToString() == "\n")
{
}
// Normal text input - just append to the end
else
{
txtPosName += c;
}
}
}
{
if (tmpWalk.Lst.Count > 1)
{
flAddWalkPlay = StartPos+1;
Position cp = (Position)tmpWalk.Lst[StartPos];
walkCurPos = walkOldPos = cp.Vec3();
walkOldTime = Time.time;
//transform.LookAt();
}
}
void DoWalk()
{
if ((flAddWalkPlay >= 0) & (tmpWalk.Lst.Count>1))
{
Position cp = (Position)tmpWalk.Lst[flAddWalkPlay];
Vector3 v3 = cp.Vec3();
if (walkCurPos != v3)
{
walkSpeed = (Time.time - walkOldTime) / WalkTimeLept;
walkCurPos = Vector3.Lerp(walkOldPos, v3, walkSpeed);
transform.position = walkCurPos;
//transform.LookAt(v3);
rotator.position=v3;
transform.rotation = Quaternion.LookRotation(v3) * rotator.transform.rotation;[/color]
}
else
{
if (flAddWalkPlay == (tmpWalk.Lst.Count - 1))
{
//êîíåö äâèæåíèÿ
flAddWalkPlay = -1;
transform.LookAt(v3);
}
else
{
StartWalk(flAddWalkPlay);
}
}
}
}
// Update is called once per frame
void Update () {
DoWalk();
foreach (char c in Input.inputString)
{
// Backspace - Remove the last character
if (c.ToString() == "\b")
//if (c. == KeyCode.Backspace)
//if (System.Convert.ToByte(c) == KeyCode.Backspace)
{
if (txtPosName.Length != 0)
txtPosName = txtPosName.Substring(0, txtPosName.Length - 1);
}
else
{
if (c.ToString() == "\n")
{
}
// Normal text input - just append to the end
else
{
txtPosName += c;
}
}
}
Пытался использовать кватерион(в оригинале стояло просто LookAt), но безуспешно. Подскажите пожалуйста как это можно сделать. Заранее благодарен.