FAQ. Рабочая тема — составляем

Форум для самых маленьких, а так же тех, кому недосуг читать справку самостоятельно.

Re: FAQ. Рабочая тема — составляем

Сообщение DbIMok 15 окт 2010, 22:30

В.: Как одновременно открыть несколько проектов Unity?
О.: Запустите Unity столько раз, сколько проектов нужно открыть. Для упрощения работы с проектами включите Edit - Preferences - Show Project Wizard at Startup.

исправил
правильный вопрос - половина ответа. учитесь формулировать вопросы понятно.
Telegram чат @unity3d_ru >Telegram канал @unity3d_news > "Спасибо"
Аватара пользователя
DbIMok
Адепт
 
Сообщения: 5676
Зарегистрирован: 31 июл 2009, 14:05
Откуда: RU.61
  • Сайт

Re: FAQ. Рабочая тема — составляем

Сообщение DbIMok 19 дек 2010, 19:12

В.: Где посмотреть хоткеи редактора?
О.: http://blogs.unity3d.ru/2009/12/154/

В.: Как добавить свое действие в редакторе по хоткею?
О.: например - прятать объект по "H"
Синтаксис:
Используется csharp
@MenuItem ("GameObject/Hide Selection _h")
static function HideSelection () {
    go = Selection.activeGameObject;
    if ( go.renderer.enabled == true) {
        go.renderer.enabled = false;
    }
    else {
        go.renderer.enabled = true;
    }
}


В.: Как изменить разрешение текстуры в runtime?
О.: http://www.unifycommunity.com/wiki/inde ... xtureScale или через Texture2D.GetPixelBilinear

В.: Как получить ссылку на дочерний объект?
О.: Transform.Find
например, root.transform.Find("child").gameObject.material.renderer.enabled = false;
правильный вопрос - половина ответа. учитесь формулировать вопросы понятно.
Telegram чат @unity3d_ru >Telegram канал @unity3d_news > "Спасибо"
Аватара пользователя
DbIMok
Адепт
 
Сообщения: 5676
Зарегистрирован: 31 июл 2009, 14:05
Откуда: RU.61
  • Сайт

Re: FAQ. Рабочая тема — составляем

Сообщение Fredo 09 янв 2011, 18:19

У меня была проблема, весь уровень создается динамически поэтому возникали проблемы с получением ссылок на определенные ГО(GameObject.Find() не находил объекта), как я понимаю это случается изза того что все функции Start и Awake выполняются подряд, тоесть если я создаю копию обьекта с помощью Instantiate в методе Start другого обьекта, это не гарантирует мне что в созданном обьекте вызовется метод Start и я смогу иницилизировать необходимые переменные. В связи с этим покопал на тему корутин и пришел к такому решению, думаю пригодится тем кто столкнулся с такими же проблемами.
Синтаксис:
Используется csharp
        void Start()
        {
                StartCoroutine(Init());
        }
       
        private IEnumerator Init()
        {
                while(true)
                {
                                                // Тут пытаемся получить ссылку на целевой обьект
                        player = GameObject.Find("Player");
                        if(player != null)
                        {
                                                                // Тут выполняем необходимую инициализацию
                                yield break;
                        }
                        else
                        {
                                                                // Если Обьект не получен ждем 10 милисекунд и повторяем
                                yield return new WaitForSeconds(0.01f);
                        }
                }
        }
 
Аватара пользователя
Fredo
UNITрон
 
Сообщения: 213
Зарегистрирован: 06 янв 2011, 05:37

Re: FAQ. Рабочая тема — составляем

Сообщение DbIMok 09 янв 2011, 18:44

порядок выполнения скриптов http://unity3d.com/support/documentatio ... Order.html
правильный вопрос - половина ответа. учитесь формулировать вопросы понятно.
Telegram чат @unity3d_ru >Telegram канал @unity3d_news > "Спасибо"
Аватара пользователя
DbIMok
Адепт
 
Сообщения: 5676
Зарегистрирован: 31 июл 2009, 14:05
Откуда: RU.61
  • Сайт

Re: FAQ. Рабочая тема — составляем

Сообщение seaman 24 янв 2012, 18:28

Значит так. Хоть это и рабочая тема, но!- вопросов своих тут не задавать!!! Если засекли часто повторяющийся вопрос на форуме - выкладывайте с ответом (если он есть). Если нет - так и напишите - вопрос часто повторяется, но ответа не нашел. Все посты с частными вопросами я удалю завтра (если кто-то раньше не удалит :) ).
По теме - замечание к основному посту
В.: Можно ли строить GUI визуальными методами?
XamlToUnityGUI не работает ссылка. И найти в свое время аналог я не смог. Если у кого-то сохранилось -с удовольствием почитал бы.
Также есть еще несколько решений:
ezgui
blindGUI
Quad UI
NGUI
PS^ не по теме - может из-за этого обилия сторонних решений юнитеки не торопятся с новым ГУИ?
seaman
Адепт
 
Сообщения: 6914
Зарегистрирован: 24 янв 2011, 12:32
Откуда: Мурманск

Re: FAQ. Рабочая тема — составляем

Сообщение GIGABAR 27 янв 2012, 00:41

Если кому интересны Unity Class, то вот:
Изображение
_https://www.youtube.com/watch?v=Pjl54PuULQw - дрифт гоночки поделываю:))
Аватара пользователя
GIGABAR
UNITрон
 
Сообщения: 266
Зарегистрирован: 11 май 2011, 16:05
Откуда: Алматы

Re: FAQ. Рабочая тема — составляем

Сообщение AndreyMust19 27 янв 2012, 16:31

Посмотрев темы, решил что частозадаваемыми являются следующие вопросы.
На некоторые из них уже есть ответы.

ОБЩИЕ
Можно ли продавать игру, сделанную на бесплатной версии редактора?
С чего начать чтобы сделать игру в Unity?

СКРИПТЫ
Как из скрипта обращатся к другим объектам?
Как получить доступ к переменной в скрипте на другом ГО?
Как обратиться к родительскому объекту?
Как обратиться к дочернему объекту?
Я отключил скрипт, но он всё равно частично работает!
Как визуализировать Raycast?

ФИЗИКА
Персонаж проваливается сквозь землю.
Добавил коллайдер к персонажу, но при перемещении он проходит сквозь препятствия
У меня глючит физика.
Как придать телу импульс?

РЕДАКТОР
Куда сохраняются логи редактора?
Где можно посмотреть, какие ресурсы сколько занимают в моём билде?


Другие вопросы (на к-ые даны ответы) являются нечастозадаваемыми.
Нужна помощь? Сами, сами, сами, сами, сами... делаем все сами
AndreyMust19
Адепт
 
Сообщения: 1116
Зарегистрирован: 07 июн 2011, 13:19

Re: FAQ. Рабочая тема — составляем

Сообщение pirat9629 02 июл 2012, 23:29

В.: Как сделать молнию.
О.: клик.
pirat9629
UNIт
 
Сообщения: 72
Зарегистрирован: 20 мар 2012, 21:16
Откуда: Україна
  • Сайт

Re: FAQ. Рабочая тема — составляем

Сообщение Multirezonator 17 авг 2012, 10:11

В.: Как сделать глобальный объект(один на всю сцену) и быстро получать доступ к его свойствам?
О.: Делать на свои глобальные объекты статические ссылки и через них использовать любые public переменные, свойства, функции:
Синтаксис:
Используется csharp
using UnityEngine;
using System.Collections;

public class Test : MonoBehaviour {
        public static Test instance;
       
        public float someFloatData;
       
        private void Awake() {
                instance = this;
                DontDestroyOnLoad(gameObject);
        }
       
        public void SomeFunction() {
                print("call of SomeFunction()");
        }
}
 

Потом в любом месте кода
Синтаксис:
Используется csharp
Test.instance.SomeFunction();
Test.instance.someFloatData;
 
Скрытый текст:



Аватара пользователя
Multirezonator
UNITрон
 
Сообщения: 248
Зарегистрирован: 15 фев 2010, 16:12
Откуда: Украина, Луганск
  • Сайт

Re: FAQ. Рабочая тема — составляем

Сообщение AMD 17 авг 2012, 23:16

Добавление к вышенаписанному, пожалуйста подшейте к верхнему сообщению.

Глобальный скрипт для хранения переменных, не требуется вытягивание на сцену!
Синтаксис:
Используется csharp

public class Global{
   
    public static Global getInstace = new Global();

    public float configSensitivityMouse = 1.0f;
    public float valueVolume = 100.0f;
    public int startingYears = 2010;
    public int startingMonths = 6;
}

 


В любом другом скрипте

Синтаксис:
Используется csharp
int somesthg = Global.getInstace.startingYears;


Обращу внимание!
Убераем наследование от MonoBehaviour, не наследуем!
Using тоже не нужен
Последний раз редактировалось AMD 27 дек 2012, 13:16, всего редактировалось 1 раз.
Программист — это профессиональный конвертер галлюцинаций заказчика в жесткую формальную систему.
AMD
UNITрон
 
Сообщения: 349
Зарегистрирован: 16 июн 2012, 14:33
Откуда: Москва

Re: FAQ. Рабочая тема — составляем

Сообщение xcube 04 ноя 2012, 13:50

В: Как отследить fps и работу с памятью на ios устройствах ?
О: Для этого в XCode есть замечательный инструмент Profile, заустить его можно из меню Product>Profile
Кроме fps и памяти там есть много других полезных инструментов. Подробнее в хелпе или на русском здесь http://2tickets2dublin.com.ua/tag/instruments/
Скрытый текст:
towe это тестируемое приложение
Изображение
Изображение
Аватара пользователя
xcube
UNITрон
 
Сообщения: 281
Зарегистрирован: 23 сен 2011, 12:20
Откуда: Spb

Re: FAQ. Рабочая тема — составляем

Сообщение AMD 02 апр 2013, 18:23

Маленькая сборка вопросов, которые достаточно часто видел на форуме:
Подраздел мультиплеер (стандартная сеть Юни, используемый ЯП C# (c#) )

В: Как сделать, что бы я видел через свою камеру?
О: Использовать проверку, чей объект осуществляется с помощью isMine
Пример убийства камеры (скрипт и камера на одном объекте):
Синтаксис:
Используется csharp
void Start()
{
        if (networkView.isMine)
        {
            Debug.Log("This object is my");
        }
        else
          {
        Destroy(camera);
          }
}

Аналогичный пример, только камера остается, она только выключается, мало ли надо будет включить?
Синтаксис:
Используется csharp
void Start()
{
        if (networkView.isMine)
        {
            Debug.Log("This object is my");
         }
        else
          {
        camera.enabled = false;
          }
}

В: Как управлять только своим персонажем?
О: Как и выше, нужно проверить чей это объект, и если он не принадлежит Вам (чужое нельзя брать!) - отключить его
Пример:
Синтаксис:
Используется csharp
void Start()
{
        if (!networkView.isMine)
         {
            GetComponent<SomeScript>().enabled = false;
         }
}

Маленькое пояснение:
Первое – вместо SomeScript нужно написать название скрипта, который хотим отключить.
Второе – GetComponent только если такой скрипт есть на этом объекте.
Третье – если нужно отключить именно этот скрипт, можно обратиться так this.enabled = false;

В: Как передать какую-то переменную какому-нибудь другому игроку
О: Как вариант через RPC вызов (посыл)
Пример:
Синтаксис:
Используется csharp
float someVal;
void Foo()
{
        networkView.RPC("SyncVal", RPCMode. Others, someVal);
}

[RPC]
void SyncVal(float val)
{
                someVal  = val;
}

Скрипт должен быть у каждого, кто должен получить значение переменной.

Подробнее здесь
Программист — это профессиональный конвертер галлюцинаций заказчика в жесткую формальную систему.
AMD
UNITрон
 
Сообщения: 349
Зарегистрирован: 16 июн 2012, 14:33
Откуда: Москва

Re: FAQ. Рабочая тема — составляем

Сообщение nile 04 апр 2013, 12:05

В.: Как мне реализовать паузу?
О.: Наиболее простой вариант — установить Time.timeScale в ноль.

На днях решал проблему анимации меню в режиме паузы. TimeScale лучше ставить 1/1000000 например, а в меню соответственно умножать. Так реализовано в Bootcamp demo.
Camera control by FreeTrackIR: FreeTrackIR + Unity3d
Аватара пользователя
nile
Старожил
 
Сообщения: 847
Зарегистрирован: 25 фев 2011, 17:17
Skype: dennis.sadovsky

Re: FAQ. Рабочая тема — составляем

Сообщение 2rusbekov 18 окт 2013, 12:39

В: Как отловить MouseOver и MouseOut ивенты на гуи элементах?
О: С помощью GUI.tooltip (второй пример)
Still alive...
Аватара пользователя
2rusbekov
Адепт
 
Сообщения: 1409
Зарегистрирован: 06 апр 2012, 12:57
Откуда: Бишкек

Re: FAQ. Рабочая тема — составляем

Сообщение xcube 11 янв 2014, 17:41

В: В Unity 4.xx до неузнаваемости изменили компонент Animation и при управлении этой анимации из скрипта возникают ошибки, что делать?
Если у Вас анимация, созданная в Юнити - решение от mrLama
1) В проекте выделите нужную анимацию
2) В инспекторе переключитесь на режим Debug (у вас появится множество новых настроек)
3) Animation type поменять значение "2" на "1" ()
4) В инспекторе переключитесь обратно режим Normal

Теперь вид компонента Animation примет прежний вид и скрипт перестанет выдавать ошибки.

Если у Вас анимация импортированная из внешней программы. В данной вкладке:
Изображение
изменить Humanoid на Legacy.
Изображение
Аватара пользователя
xcube
UNITрон
 
Сообщения: 281
Зарегистрирован: 23 сен 2011, 12:20
Откуда: Spb

Пред.След.

Вернуться в Почемучка

Кто сейчас на конференции

Сейчас этот форум просматривают: Cr0c и гости: 23