1
0
forked from cgvr/DeltaVR

implemented shape scanner

This commit is contained in:
2026-01-11 17:48:58 +02:00
parent 23c89e97ce
commit d2ac917db3
16 changed files with 1027 additions and 4 deletions

View File

@@ -0,0 +1,64 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class ShapeScannerRay : MonoBehaviour
{
public Material _activeMaterial;
public Material _passiveMaterial;
private ShapeScanner _scanner;
private MeshRenderer meshRenderer;
private bool _collisionRequired;
void Awake()
{
meshRenderer = GetComponent<MeshRenderer>();
}
// Update is called once per frame
void Update()
{
}
public void Initialize(ShapeScanner scanner, bool collisionRequired, Material activeMaterial, Material passiveMaterial)
{
_scanner = scanner;
_collisionRequired = collisionRequired;
_activeMaterial = activeMaterial;
_passiveMaterial = passiveMaterial;
meshRenderer.material = _passiveMaterial;
}
private void OnTriggerEnter(Collider other)
{
if (other.gameObject.tag == "ShapeScannable")
{
meshRenderer.material = _activeMaterial;
if (_collisionRequired)
{
_scanner.IncrementCorrectRayCount();
} else
{
_scanner.DecrementCorrectRayCount();
}
}
}
private void OnTriggerExit(Collider other)
{
if (other.gameObject.tag == "ShapeScannable")
{
meshRenderer.material = _passiveMaterial;
if (_collisionRequired)
{
_scanner.DecrementCorrectRayCount();
} else
{
_scanner.IncrementCorrectRayCount();
}
}
}
}