Скриптованная анимация
Добавлено: 22 май 2017, 11:51
Помогите реализовать следующее: У меня есть скрипт на передвижение по клику мыши(использую ассет на изометрию) и хочу сделать 8-осевую анимацию передвижения. Т.е. если клик мыши попал в область снизу, то включить анимацию ходьбы вниз и тд. Я понимаю, что нужно делать через переменные в аниматоре, но не могу понять как сделать это в коде.
Как дополнить скрипт, чтобы реализовать это?
Как дополнить скрипт, чтобы реализовать это?
Синтаксис:
Используется csharp
using UnityEngine;
using IsoTools;
[RequireComponent(typeof(IsoObject))]
public class control1 : MonoBehaviour
{
public IsoObject _isoObject;
public Vector3 _target;
void Start()
{
_isoObject = GetComponent<IsoObject>();
_target = _isoObject.position;
}
void Update()
{
if (Input.GetMouseButtonDown(0))
{
_target = IsoWorld.GetWorld(0).MouseIsoPosition();
}
var position = _isoObject.position;
if ((_target - position).magnitude > 0.1f)
{
var direction = (_target - position).normalized;
_isoObject.position += direction * 0.03f;
}
else
{
_isoObject.position = _target;
}
}
}
using IsoTools;
[RequireComponent(typeof(IsoObject))]
public class control1 : MonoBehaviour
{
public IsoObject _isoObject;
public Vector3 _target;
void Start()
{
_isoObject = GetComponent<IsoObject>();
_target = _isoObject.position;
}
void Update()
{
if (Input.GetMouseButtonDown(0))
{
_target = IsoWorld.GetWorld(0).MouseIsoPosition();
}
var position = _isoObject.position;
if ((_target - position).magnitude > 0.1f)
{
var direction = (_target - position).normalized;
_isoObject.position += direction * 0.03f;
}
else
{
_isoObject.position = _target;
}
}
}