Эффекты появляются далеко от сцены
Делаю простой 2D кликер на Unity, столкнулся с проблемой, партиклы (частицы) появляются далеко от сцены, причем у них будто только с позицией проблемы, а появляются как нужно.
Код:
1 скрипт
using UnityEngine;
using UnityEngine.UI;
public class Effect : MonoBehaviour
{
public Text text;
public CanvasGroup group;
void Update()
{
group.alpha = Mathf.Lerp(group.alpha, 0, Time.deltaTime * 4);
transform.localPosition += Vector3.up * Time.deltaTime * 60;
if (group.alpha < .01f) { Destroy(gameObject); }
}
public void SetPos(Vector2 position)
{
transform.localPosition = position;
}
public void SetValue(int value)
{
text.text = "+" + value + "$";
}
public void SetPasCol()
{
text.color = Color.blue;
}
}
2 скрипт
using UnityEngine;
public class EffectsController : MonoBehaviour
{
public static EffectsController Instance;
public Effect effectPref;
private void Awake()
{
Instance = this;
}
public void CreateClickEffect(int value)
{
var pref = Instantiate(effectPref, transform, false);
pref.SetPos(Input.mousePosition);
pref.SetValue(value);
}
public void CreatePassiveEffect(int value)
{
var pref = Instantiate(effectPref, transform, false);
pref.SetPos(new Vector2(Screen.width * 2 / 3, Screen.height / 2));
pref.SetValue(value);
pref.SetPasCol();
}
}
Повесил 1 скрипт на текст, сделал префабом, и удалил со сцены, 2 скрипт повесил на пустой GameObject.