Воскресенье, 29 Сентября 2024, 18:22

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
Вопрос-[ответ] по Unity
QWER56Дата: Понедельник, 09 Августа 2010, 10:58 | Сообщение # 1
старожил
Сейчас нет на сайте
Вопрос-[Ответ] по Unity3d

  • База скриптов Unity3d
  • Курс Уроков по Unity 3D от Alcatraz

    ConsMark - поисковик по интернет магазинам.

    Сообщение отредактировал QWER56 - Вторник, 26 Июля 2011, 20:54
  • PoqXertДата: Четверг, 10 Апреля 2014, 11:16 | Сообщение # 5841
    постоянный участник
    Сейчас нет на сайте
    Цитата Adom ()
    А хоть скрипт нормально сделал ?

    Работать должен, при доступном NAT Facilitator.


    Расширения для Unity3D
    Блог программиста - PoqXert.ru
    AdomДата: Четверг, 10 Апреля 2014, 13:41 | Сообщение # 5842
    Печенька!
    Сейчас нет на сайте
    PoqXert, А как ты узнал что он закрыт или выключен ?
    PoqXertДата: Четверг, 10 Апреля 2014, 14:17 | Сообщение # 5843
    постоянный участник
    Сейчас нет на сайте
    Цитата Adom ()
    А как ты узнал что он закрыт или выключен ?

    Юнитехи отчёт на почту присылают. При попытке подключиться ошибка вылезла.


    Расширения для Unity3D
    Блог программиста - PoqXert.ru
    AdomДата: Четверг, 10 Апреля 2014, 17:18 | Сообщение # 5844
    Печенька!
    Сейчас нет на сайте
    ааа

    Добавлено (10.04.2014, 14:43)
    ---------------------------------------------
    Сможешь сказать когда можно будет играть ? На сервере ?

    Добавлено (10.04.2014, 15:51)
    ---------------------------------------------
    В общем с мультом кой-как справились.... Теперь еще вопрос... У меня есть две модели танка одна используется как полностью рабочий префаб а другой просто как модель и эту модель в игре я изменяю как сделать что-бы эти изменения коснулись и рабочего префаба ? Но при условии сохранить эти два префаба а не совмещать...

    Добавлено (10.04.2014, 17:18)
    ---------------------------------------------
    Вот скрипт(Может поможет).
    Код
    using UnityEngine;
    using System.Collections;

    public class DebugScript : MonoBehaviour {
    public Transform Tank;
    public Transform Cam;
    public RaycastHit Hit;
    public bool Show;   
    public Material MatColor;
    public bool Black;
    public bool Blue;
    public bool Gray;
    public bool White;
    public bool Yellow;
    public bool Red;
    public bool Green;
    public float Black_Slide;
    public float Blue_Slide;   
    public float Gray_Slide;
    public float White_Slide;   
    public float Yellow_Slide;   
    public float Red_Slide;   
    public float Green_Slide;
    public Color MyColor;
    public Material []mat;
    public Shader Toon=Shader.Find("Toon/Lighted Outline");
    public Shader Diffuse=Shader.Find("Diffuse");
    void Start(){
    MatColor.color=Color.white;   
    mat[1].color=Color.white;
    mat[2].color=Color.white;   
    }
    void Update(){
    if(Input.GetKeyDown(KeyCode.Tab)){    
    Show=!Show;     
    }
    GameObject.FindWithTag("TankPlayer").AddComponent<DebugScript>();   
    }
    void OnGUI(){
    if(Show){
    GUI.Box(new Rect(100,100,300,300),"");
    //Black     
    if(GUI.Button(new Rect(100,100,50,25),"Black")){     
    mat[1].color=Color.black;   
    mat[2].color=Color.black;      
    Black=!Black;        
    }
    Black_Slide = GUI.HorizontalSlider(new Rect(150,105,100,30),Black_Slide, 0.0f, 10.0f);     
    //Blue
    if(GUI.Button(new Rect(100,125,50,25),"Blue")){     
    mat[1].color=Color.blue;
    mat[2].color=Color.blue;      
    Blue=!Blue;       
    }
    Blue_Slide = GUI.HorizontalSlider(new Rect(150,130,100,30),Blue_Slide, 0.0f, 10.0f);     
    //Gray
    if(GUI.Button(new Rect(100,150,50,25),"Gray")){
    mat[1].color=Color.gray;
    mat[2].color=Color.gray;      
    Gray=!Gray;      
    }
    Gray_Slide = GUI.HorizontalSlider(new Rect(150,155,100,30),Gray_Slide , 0.0f, 10.0f);     
    //White
    if(GUI.Button(new Rect(100,175,50,25),"White")){    
    mat[1].color=Color.white;
    mat[2].color=Color.white;      
    White=!White;       
    }
    White_Slide = GUI.HorizontalSlider(new Rect(150,180,100,30),White_Slide, 0.0f, 10.0f);     
    //Yllow
    if(GUI.Button(new Rect(100,200,50,25),"Yellow")){    
    mat[1].color=Color.yellow;   
    mat[2].color=Color.yellow;       
    Yellow=!Yellow;       
    }
    Yellow_Slide = GUI.HorizontalSlider(new Rect(150,205,100,30),Yellow_Slide, 0.0f, 10.0f);     
    //Red
    if(GUI.Button(new Rect(100,225,50,25),"Red")){    
    mat[1].color=Color.red;   
    mat[2].color=Color.red;       
    Red=!Red;       
    }
    Red_Slide = GUI.HorizontalSlider(new Rect(150,230,100,30),Red_Slide, 0.0f, 10.0f);     
    //Green
    if(GUI.Button(new Rect(100,250,50,25),"Green")){    
    mat[1].color=Color.green;
    mat[2].color=Color.green;      
    Green=!Green;      
    }
    //Shaders
    if(GUI.Button(new Rect(250,100,50,25),"Toon")){     
    mat[1].shader=Toon;    
    mat[2].shader=Toon;       
    }
    if(GUI.Button(new Rect(300,100,50,25),"Difuse")){     
    mat[1].shader=Diffuse;   
    mat[2].shader=Diffuse;        
    }     
    }    
    }
    }


    Сообщение отредактировал Adom - Четверг, 10 Апреля 2014, 17:48
    berilДата: Суббота, 12 Апреля 2014, 01:18 | Сообщение # 5845
    Я не ленивый, я — энергосберегающий
    Сейчас нет на сайте
    Adom, я не особо понял суть вопроса как бы. Может подробней?



    Накодил? Убери за собой!
    Инвентарь в Unity(UI)
    Инвентарь в Unity(GUI)
    AdomДата: Суббота, 12 Апреля 2014, 11:03 | Сообщение # 5846
    Печенька!
    Сейчас нет на сайте
    beril, Хорошо в общем я хочу изменять цвет и текстуру префаба допустим это будет куб в сцене покраски он ничего не делает не двигается и тд а есть другой куб который уже двигается и стреляет. Как сделать так что-бы изменения 1-ого куба перешил ко 2-ому кубу. При этом желательно что-бы они были разными префабами.
    berilДата: Суббота, 12 Апреля 2014, 11:24 | Сообщение # 5847
    Я не ленивый, я — энергосберегающий
    Сейчас нет на сайте
    если я правильно понял используй FindObjectsWithTag(" ").
    или просто повесь скрипт на второй обьект )




    Накодил? Убери за собой!
    Инвентарь в Unity(UI)
    Инвентарь в Unity(GUI)


    Сообщение отредактировал beril - Суббота, 12 Апреля 2014, 11:27
    AdomДата: Суббота, 12 Апреля 2014, 11:31 | Сообщение # 5848
    Печенька!
    Сейчас нет на сайте
    beril, БЛИН. Спасибо я чет ступил ведь у меня используется материал а он изменится и следовательно изменяться и материал на модели ).
    RS366Дата: Суббота, 12 Апреля 2014, 12:06 | Сообщение # 5849
    частый гость
    Сейчас нет на сайте
    При переключении платформы на андройд пропал метод сжатия аудио ogg vorbis. Вместо него появился mpeg. Он ведь платный вроде, если игру скачали более 5000 раз, то по лицензии ты владельцам мпега должен несколько к$. Кто нибудь платил им, и нужно ли вообще платить?

    NewsdownloadsДата: Суббота, 12 Апреля 2014, 12:21 | Сообщение # 5850
    Sleepy wizard
    Сейчас нет на сайте
    Кто знает, прошу подсказать: мне нужно сделать создание объекта с рандомным значением позиции х и у из function OnCollisionEnter. Так вот, проблема в следующем: в дебаггере мне упрямо твердит, что Random.Range можно вызвать только из function Awake или function Start. Что можно сделать в этом случае?
    P.S. вот, собственно, сам код:
    Код
    var FollowPoint:GameObject;
    var Change:Collision;
    var SpawnPos:Vector3=Vector3(Random.Range(-1,1),0.1, Random.Range(-1,1));

    function OnCollisionEnter(){
    if(Change.gameobject.name == "FollowPoint"){
    Destroy(FollowPoint);
    Instantiate(FollowPoint, SpawnPos, Quaternion.identity);
    }
    }


    Проект на Gamiron №6: Ray Machine (завершен)

    Проект на Gamiron №7: UFOs' Rampage! (завершен)

    Группа/Блог


    Сообщение отредактировал Newsdownloads - Суббота, 12 Апреля 2014, 12:21
    RS366Дата: Суббота, 12 Апреля 2014, 12:35 | Сообщение # 5851
    частый гость
    Сейчас нет на сайте
    Ну так присвой значение SpawnPos в функции OnCollisionEnter. Еще функция OnCollisionEnter должна содержать параметр типа Collision, т.е. OnCollisionEnter(col : Collision) { }

    AdomДата: Суббота, 12 Апреля 2014, 12:48 | Сообщение # 5852
    Печенька!
    Сейчас нет на сайте
    У меня такой вопрос... Как с помощью луча можно узнать какой угол ? Т.е как узнать под каким углом луч попал в объект ?
    zaicev9797Дата: Суббота, 12 Апреля 2014, 13:12 | Сообщение # 5853
    AbRaKaDaBrA
    Сейчас нет на сайте
    вроде есть способ получить треугольник, с которым столкнулся луч, и его нормаль, а между нормалью и лучом можно и угол посчитать. Думаю ты знаешь что такое нормаль.

    проект Mysterious Space. The losted moment
    PoqXertДата: Суббота, 12 Апреля 2014, 13:34 | Сообщение # 5854
    постоянный участник
    Сейчас нет на сайте
    Цитата Newsdownloads ()
    проблема в следующем: в дебаггере мне упрямо твердит, что Random.Range можно вызвать только из function Awake или function Start.

    Функцию можно вызвать только в функции. А ты пытаешься вызвать функцию вне функций.
    И думаю, что ты не верно перевёл сообщение об ошибке. Скорее всего дебаггер советовал засунуть присвоение значения в Start или Awake, т.к. эти функции вызываются раньше остальных.
    Цитата Newsdownloads ()
    Что можно сделать в этом случае?

    1. Можно последовать совету дебагера и засунуть присвоение значения переменной SpawnPos в функции Start или Awake.
    2. Последовать совету RS366 и присваивать значение переменной SpawnPos в функции OnCollisionEnter перед созданием объекта.


    Расширения для Unity3D
    Блог программиста - PoqXert.ru
    AdomДата: Суббота, 12 Апреля 2014, 13:37 | Сообщение # 5855
    Печенька!
    Сейчас нет на сайте
    zaicev9797, Знаю )
    berilДата: Суббота, 12 Апреля 2014, 13:46 | Сообщение # 5856
    Я не ленивый, я — энергосберегающий
    Сейчас нет на сайте
    Цитата Adom ()
    У меня такой вопрос... Как с помощью луча можно узнать какой угол ? Т.е как узнать под каким углом луч попал в объект ?

    вроде угол падения равен углу отражения. Но это вряд ли тебе поможет )




    Накодил? Убери за собой!
    Инвентарь в Unity(UI)
    Инвентарь в Unity(GUI)


    Сообщение отредактировал beril - Суббота, 12 Апреля 2014, 13:50
    AdomДата: Суббота, 12 Апреля 2014, 13:50 | Сообщение # 5857
    Печенька!
    Сейчас нет на сайте
    beril, И как узнать это ? Просто я хочу реализовать рикошет если угол больше 30 градусов )
    RS366Дата: Суббота, 12 Апреля 2014, 13:52 | Сообщение # 5858
    частый гость
    Сейчас нет на сайте
    А настройкой физ материалов этого не добиться?

    AdomДата: Суббота, 12 Апреля 2014, 13:56 | Сообщение # 5859
    Печенька!
    Сейчас нет на сайте
    RS366, А ведь я у меня лучи)
    RS366Дата: Суббота, 12 Апреля 2014, 13:58 | Сообщение # 5860
    частый гость
    Сейчас нет на сайте
    Да, кстати, никто разве под андройд не делает игр? За mpeg надо платить или нет?

    Поиск:

    Все права сохранены. GcUp.ru © 2008-2024 Рейтинг