33 lines
918 B
C#
33 lines
918 B
C#
using System.Collections.Generic;
|
|
using UnityEngine;
|
|
using UnityEngine.VFX;
|
|
|
|
public class VectorFieldHandler : MonoBehaviour
|
|
{
|
|
[SerializeField] private float avoidanceDist;
|
|
|
|
[SerializeField] private List<Vector3> avoidances;
|
|
|
|
[SerializeField] private Vector3 size;
|
|
|
|
[SerializeField] private VisualEffect effect;
|
|
|
|
private Texture3D vField;
|
|
|
|
// Start is called before the first frame update
|
|
private void Start()
|
|
{
|
|
vField = new Texture3D((int)size.x, (int)size.y, (int)size.z, TextureFormat.RFloat, 0);
|
|
for (var x = 0; x < size.x; x++)
|
|
for (var y = 0; y < size.y; y++)
|
|
for (var z = 0; z < size.z; z++)
|
|
vField.SetPixel(x, y, z, new Color(1, 0, 0, 0));
|
|
//vField.SetPixel(0, 0, 0, new Color(1, 0, 0, 0));
|
|
effect.SetTexture("VectorField", vField);
|
|
}
|
|
|
|
// Update is called once per frame
|
|
private void Update()
|
|
{
|
|
}
|
|
} |