А вот я что-то не пойму, как вот в этом скрипте сделать тоже самое, только зависящее от позиции мыши, то есть на каком блоке кликнул, тот и изменился...
using UnityEngine;
using System.Collections;
public class Raycast : MonoBehaviour {
public Material green;
public Material brown;
public Material blue;
public bool IsGreen = false;
public bool IsBrown = false;
public bool IsBlue = false;
public RaycastHit Hit;
void Update()
{
if(Input.GetMouseButtonDown(0))
{
ChooseBlock();
}
}
void ChooseBlock()
{
if(Physics.Raycast(transform.position, transform.TransformDirection (Vector3.forward), out Hit, Mathf.Infinity))
{
if(Hit.collider.tag == "block" && IsGreen == true)
{
IsBrown = false;
IsBlue = false;
Hit.collider.renderer.material = green;
}
else
{
if(Hit.collider.tag == "block" && IsBrown == true)
{
IsGreen = false;
IsBlue = false;
Hit.collider.renderer.material = brown;
}
if(Hit.collider.tag == "block" && IsBlue == true)
{
IsGreen = false;
IsBrown = false;
Hit.collider.renderer.material = blue;
}
}
}
}
}