Я сделаю это коротким. У меня есть gameobject, и у него есть средство визуализации спрайтов и средство рендеринга частиц. То, что я хочу сделать, это, когда я даю ему команду из сценария, я хочу спрайт визуализатор в GameObject изменить материал, однако, если я делаю это так: `Измените несколько материалов в одном GameObject в Unity3D
using UnityEngine;
using System.Collections;
public class DoorBehav : MonoBehaviour {
public static float DoorHp = 100f;
public TextMesh HpText;
public Material brokenMat; //the material I want to use for the sprite renderer
private GameObject hero;
ParticleEmitter partEmit;
void Start() {
hero = GameObject.Find("Hero");
partEmit = GetComponent<ParticleEmitter>();
HpText = transform.FindChild ("DoorHp").GetComponent<TextMesh>() as TextMesh;
HpText.color = Color.green;
}
void Update() {
if (Vector3.Distance (hero.transform.position, transform.position) < 1.8f)
{
HeroBehaviour.agent.speed = 0;
DoorHp-=1f;
partEmit.Emit();
HpText.text = ((Mathf.FloorToInt(DoorHp)).ToString()+"%");
if(DoorHp <=60f)
{
transform.renderer.material = brokenMat;
HpText.color = Color.yellow;
}
if(DoorHp <=30f)
{
HpText.color = Color.red;
}
if(DoorHp <=0)
{
//play sound : destroy door
HeroBehaviour.agent.speed = HeroBehaviour.moveSpeed;
Destroy(this.gameObject);
}
}
}
}
`
В принципе, это дверь, и когда герой приближается к ней, он теряет hp (hitpoints). Если переменная hp ниже 60, она изменяет внешний вид двери на сломанную дверь. Однако, когда я это делаю, он также меняет материал средства визуализации частиц, и он начинает выливать крошечные маленькие сломанные двери вместо дерби из сломанной двери. Как заставить его ТОЛЬКО изменять материал средства визуализации спрайтов? Я пробовал много раз, но я не могу заставить его работать :(Кстати, я не могу добавить детей в этот игровой объект, это испортило бы многие вещи. Спасибо заранее! :)
показывает код, как это не является хорошим примером того, изображая, что реальная проблема и или вопрос ... вам нужно показать также, как вы инициализируете объект MyMaterial, можете ли вы показать структуру класса, а также то, как вы создаете объект? .. в основном то, что я говорю, это «Показать весь соответствующий код», который относится к вашей проблеме/вопросу под рукой, спасибо – MethodMan
@DJKRAZE отредактирован и сделал это, как вы просили :) – Nikaoto
по-прежнему выглядит как много нулевых ссылок на основе того, что я вижу «Не видите, где вы даже устанавливаете или создаете этот« битмарт », вы прошли через этот код .., чтобы увидеть, что что-то подскакивает в отношении того, что вы видите, или ожидаемых результатов ..? – MethodMan