Показать сообщение отдельно
Старый 22.11.2012, 09:40   #783
radiobutton
Бывалый
 
Регистрация: 16.09.2011
Сообщений: 863
Написано 257 полезных сообщений
(для 546 пользователей)
Ответ: Вопросы от новичка

Вообщем. Создаю с помощью кода куб.

player = new GameObject();
            
player.name "player";
            
player.AddComponent("MeshFilter");
            
player.AddComponent("MeshRenderer");       
            
player.GetComponent<MeshFilter>().mesh Engine.CreatePlayerMesh(1f);
            
player.GetComponent<MeshRenderer>().material.color Color.red;
            
player.AddComponent("BoxCollider");
            
player.GetComponent<BoxCollider>().isTrigger true;
            
player.GetComponent<BoxCollider>().center Vector3.zero;
            
player.GetComponent<BoxCollider>().size = new Vector3(0.5f,0.5f,0.5f);
            
player.AddComponent("PlayerTrigger"); 
PlayerTrigger - это следующий скрипт

public class PlayerTrigger MonoBehaviour
{

    
void OnTriggerEnter(Collider trigger)
    {
        
Debug.Log("blabla1");
        if (
trigger.gameObject.name.Substring(0,4) == "ball")
        {
            
Debug.Log("blabla2");
        }
    }

Дальше создаю с помощью кода сферы

balls = new GameObject[12];
            for (
int i 012i++)
            {
                
balls[i] = GameObject.CreatePrimitive(PrimitiveType.Sphere);
                
balls[i].name "ball" id+"_"+i;
               
// balls[i].GetComponent<SphereCollider>().isTrigger = true;
                
balls[i].transform.localScale = new Vector3(scaleBall,scaleBall,scaleBall);
                
balls[i].GetComponent<MeshRenderer>().material.color = new Color(0.9f0.9f0.9f);
            } 
У примитива сфейры уже есть встроеный коллайдер.

Двигаю сферы при помощи изменения
beams[i].transform.position

И когда коллайдер сфейры касается коллайдера куба, то ничего в консоль не пишется.
(Offline)
 
Ответить с цитированием