А можно юзать от это - Renderer.bounds и от это Bounds.Intersects
Сейчас пример накидаюДобавлено (08 августа 2016, 04:21)
---------------------------------------------
Код
using UnityEngine;
using System.Collections;
[ExecuteInEditMode] // Необязательно, но OnDrawGizmos() будет кидать null reference exception в редакторе
public abstract class DrawBounds : MonoBehaviour {
protected Renderer currentRenderer;
protected Color gizmoColor = Color.cyan;
protected virtual void Awake()
{
currentRenderer = GetComponent<Renderer>();
}
private void OnDrawGizmos()
{
Vector3 center = currentRenderer.bounds.center;
Vector3 size = currentRenderer.bounds.size;
Gizmos.color = gizmoColor;
Gizmos.DrawWireCube(center, size);
}
}
------------------------------------
Код
using UnityEngine;
using System.Collections;
public class DrawBoxCollider : DrawBounds {
}
------------------------------------
Код
using UnityEngine;
using System.Collections;
public class BoundsCollider : DrawBoxCollider {
public Renderer targetRend;
void Update()
{
if (currentRenderer.bounds.Intersects(targetRend.bounds))
{
gizmoColor = Color.red;
}
else
{
gizmoColor = Color.cyan;
}
}
}
Добавлено (11 августа 2016, 01:07)
---------------------------------------------
Ну что, разобрались?