setting VFX graph properties using C#
How to set values for your custom properties in VFX Graph. Yeah, there are binders, but I find they expect a rather precise way of working.. Making your own scripts forces Unity to do what you actually want haha.
In my VFX graph, I have a VECTOR 3 value named "realSpawnPos" which I'm using as the spawn position for some particles. It's important to note that "position", whilst it is a Vector3.. doesn't like receiving Vector 3 values. So make sure you set it up as a Vector 3 in the VFX graph.
Further to this - Make sure in the VFX Graph, your position node is set to WORLD, if you need to set/get/whatever the world position and not local... your objects are probably nested in a million groups/transforms..
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.VFX;
public class bindPosition : MonoBehaviour
{
public GameObject target_thing;
public VisualEffect visualEffect;
void Update()
{
Vector3 goHere = target_thing.transform.position;
// Vector3 goHere = target_thing.transform.localPosition; //for local..
Debug.Log("coords are " + goHere);
visualEffect.SetVector3("realSpawnPos", goHere);
}
}
Comments
Post a Comment