![]() |
Ответ: Фак по Юнити.
Надо передавать не слой, а маску
PHP код:
|
Ответ: Фак по Юнити.
Интересно, тыркался пыркался, еле допёр что это делает ))
Получается LayerMask.NameToLayer("") возвращает нам номер слоя (8-й), а надо использовать получается Бит из возможных 32-х. Т.е. если надо использовать для рейкаста 3,5,6 слоя то надо отправить int: в десятичной = 2^3 + 2^5 + 2^6 = 104 (галки это степени) либо бинарной = ...0000000110100 = 104 т.е. lay = 1 << (int)LayerMask.NameToLayer("JustRayCast"); lay += 1 << (int)LayerMask.NameToLayer("Default"); равносильно lay = Mathf.Pow(2,LayerMask.NameToLayer("JustRayCast")) + Mathf.Pow(2,LayerMask.NameToLayer("Default")) Прям теорема получилась :cool: Правда запись не упростилась )) Ну так, для общего развития пойдёт! :) |
Ответ: Фак по Юнити.
Цитата:
|
Ответ: Фак по Юнити.
Появилось парочка вопросов, подскажите плиз.
Начал искать как на русском текст выводить, нашел чтото, получилось. Перекодировал из notepad++ в UTF-8, хотя говорят что лучше кодировать в UTF-16, но такового не нашлось.. После перекодировки русский появляется только при написании в Notepad++ и в MonoDevelop русский стал закорючками. Можно както кодировку в самом MonoDevelop'е поменять? Или какоё-нибудь другой хороший вариант. И еще, хотел при коллайднутом объекте выводить текст относительно его позиции. Сделал так PHP код:
|
Ответ: Фак по Юнити.
1. Я не использую монодевелоп (пишу в Visual Studio), но в нем можно сохранить с кодировкой, просто нажми файл->сохранить как...
2. v3.y = Screen.height - v3.y; |
Ответ: Фак по Юнити.
Не, эт понятно что решение есть, я думал что может не ту функцию использую.
Как то это не правильно, если WorldToScreenPoint должна определять координаты на экране, то никак не (х, height - y) :mda: |
Ответ: Фак по Юнити.
Почему нет? Мышь работает в тех же координатах, как и камера (рект камеры задается аналогично) и в справке про координатную систему написано http://docs.unity3d.com/Documentatio...reenPoint.html .
Цитата:
|
Ответ: Фак по Юнити.
Ну не знаю, я както привык что левый верхний угол экрана, это начало координат. Думал что это стандарт..
Сейчас взялся за GUI, и тут не на все вопросы могу найти ответы. Разобрался как свои скины вешать, немного разобрался в настройках, но помогите кое в чём Есть текстура и текст, можно както сделать чтобы текстура растягивалась вместе с текстом, не важно в чем Label, TextArea. И не могу найти как в скине допустим у TextArea сделать текстуру прозрачной. И если есть какой-нибудь хорошая (полезная) тема по GUI - очень поможете! |
Ответ: Фак по Юнити.
GUI это достаточно сложная тема, если лезть в ее дебри.
Растягивание: Когда создаешь стиль - надо задать Border для не растягиваемых краев, все что в него не попадает - растягивается. Конечно при условии если ты не задал фиксированный размер элемента управления. Текстура должна быть задана в Normal=>background на сколько я помню. Текстуру прозрачной делай саму. Либо если хочешь контрол прозрачным сделать? то напиши перед его отрисовкой следующее: PHP код:
|
Ответ: Фак по Юнити.
Чтото так и не допёр как свой класс создать так, чтобы можно было обращаться к его полям.
Т.е. PHP код:
PHP код:
|
Ответ: Фак по Юнити.
Для начала нужно создать сам класс plantInfoRect (если он, конечно, не статический).
Код:
plantInfoRect info = new plantInfoRect(); |
Ответ: Фак по Юнити.
А ничего что я хочу использовать такую структуру :
вместо На производительности и других подводных камнях не отзовётся? |
Ответ: Фак по Юнити.
Ну только вместо:
private Rect commentLabel, growIcon, growLabel; нужно public Rect commentLabel, growIcon, growLabel; |
Ответ: Фак по Юнити.
Помогите, не получается обратиться к классу rect.commentLabel
PHP код:
PlayerController.Start () Ссылка на объект не указывает на экземпляр объекта :mda: |
Ответ: Фак по Юнити.
Блин, выходные, булка вымерла :(
|
Ответ: Фак по Юнити.
Я C# еще учу, но попробую помочь.
PHP код:
|
Ответ: Фак по Юнити.
Вот я нубяра, объявить объявил, а не инициализировал.
Старые блитцовские привычки - объявил, пользуйся. Спасибо РБК! |
Ответ: Фак по Юнити.
Ребят, помогите!
Не могу сообразить как достать значение enum Т.е. у меня есть еНам public enum ActionType{pickUp=1, pull, snake} и есть переменная с типом ActionType public ActionType action; А как потом достать значение из action не пойму При условии что я не знаю что хранится в action. |
Ответ: Фак по Юнити.
PHP код:
|
Ответ: Фак по Юнити.
Мне стыдно!
Видимо вредно с утра до вечера в юнити торчать ) Кстати, вопрос по теме возник, а можно както enum создавать сразу с типом int? |
Ответ: Фак по Юнити.
Он по умолчанию типа int. Ему можно задать другой целочисленный тип:
PHP код:
Операторы неявного преобразования типов можно делать только для классов и структур. Не для энамов. http://stackoverflow.com/questions/2...-of-enums-in-c |
Ответ: Фак по Юнити.
Вот еще вопрос меня такой мучает.
У меня есть переменные в которых не бывает больших значений. Подумал использовать тип byte, их намного быстрее можно посчитать и весит мало. Но с другой стороны при вычислениях в других типах приходится переводить byte в int. Стоит ли в таком случае пользоваться байтом или наоборот хуже только делаю? |
Ответ: Фак по Юнити.
Имхо юзай int. Я перевожу в меньший если по сети надо передать и только.
|
Ответ: Фак по Юнити.
Помогите плиз!
Ничего понять не могу, ошибка появляется, а если в инспекторе выбрать ошибочный скрипт прямо в реалтайме - ошибка перестаёт появляться. :4to: NullReferenceException: Object reference not set to an instance of an object части кода: Закомментировал ошибочные строки, и ошибка появилась в том месте кода, где обнуляю поля: PHP код:
Похоже как будто не инициализировал, но PHP код:
|
Ответ: Фак по Юнити.
Цитата:
|
Ответ: Фак по Юнити.
Я тогда только одно не понимаю - почему переменные инициализируются после отображения в инспекторе ошибочного скрипта?
|
Ответ: Фак по Юнити.
Инспектор все null переменные создает пустыми: массивы с нулевой длиной, сериализуемые объекты - экземплярами с дефолтными данными. Иначе их нельзя было бы редактировать. Только объекты движка остаются null - что означает - нет ссылки на какой-то объект типа материала или меша.
В твоем конкретном случае создается пустой массив, что при переборе соответственно не вызывает исключений. |
Ответ: Фак по Юнити.
всё равно ошибка..
PHP код:
|
Ответ: Фак по Юнити.
Цитата:
PHP код:
|
Ответ: Фак по Юнити.
Спасибо Пакс!
Нормально работает даже без иниц-ии внутренних переменных Т.е. PHP код:
Это равносильно PHP код:
|
Ответ: Фак по Юнити.
Ну а нафига тебе выделять память сразу под все элементы массива? Вдруг ты используешь всего 1 элемент из десяти? Не забывай что это массив ссылок на экземпляры класса, а не массив значений. Если экземпляра нет, то это null. Все четко и ясно.
А пример с int переменной не катит, это тип значения, а не ссылочный тип ;) потому что int[] myIntArray = new int[100500]; выделит память сразу. |
Ответ: Фак по Юнити.
Хотел получить список всех компонентов LOD (ручной скрипт)
написал allLOD = Object.FindSceneObjectsOfType(typeof(LOD)); но таким образом не могу к нему обратиться, хотя в инспекторе вижу список вытянутых скриптов т.е. allLOD[i]. не подсвечиваются внутренние переменные. Подскажите что сделать. И вообще нормальный ли это вариант, или лучше находить ГаймОбжекты и у них уже вызывать GetComponent<T>() Но не знаю как найти ГО с определенным компонентом. Через тэги пока только умею :rolleyes: |
Ответ: Фак по Юнити.
1. Наверное все же FindObjectsOfType?
2. Опять приведение типов. Смотрите внимательнее мануал. Что возвращает эта функция? Object[]! Естественно в Object нет Ваших переменных. Приведите результат к типу LOD - все будет работать. Код:
LOD[] allLOD = (LOD[]) FindObjectsOfType(typeof(LOD)); |
Ответ: Фак по Юнити.
Спасибо Симен!
А FindObjectsOfType будет выбирать объекты только текущей сцены? Я увидел что есть FindSceneObjectsOfType вот и подумал что она мне нужна ) |
Ответ: Фак по Юнити.
FindSceneObjectsOfType недокументирована, потому я бы не использовал.
Цитата:
|
Ответ: Фак по Юнити.
Сейчас еще наткнулся на такую загвоздку.
Есть скрипт, который собирает все объекты по тэгу и обновляет их. И не получается удалить объект без Null Reference, т.е. скрипт кричит что объекта уже нету. Пытался обновить список объектов в OnDestroy(), но получается что я запрашиваю список перед удалением, и соответственно удаляемый объект оказывается в этом списке и приводит к ошибке. Подскажите плиз как избавиться от бага Может можно как то вызывать некоторые функции в последнюю очередь? Т.е. вот так не канает А еще подскажите, плохо ли что я использую статичные переменные и методы в Собирающем скрипте, при условии что на всю сцену у меня их будет по одному |
Ответ: Фак по Юнити.
сравнить объект с null перед обработкой не пробовал?
PHP код:
|
Ответ: Фак по Юнити.
Ну такая проверка имеет две стороны медали
С одной стороны так ошибок точно не будет. С другой стороны лишнее вычисление и не будет ошибок, когда они могут тебе подсказать. Может есть еще варианты? |
Ответ: Фак по Юнити.
null обработать другим способом нельзя. можешь вместо continue поставить лог, что null попался.
|
Ответ: Фак по Юнити.
Да не Пакс, не в этом дело, я просто привык делать так чтобы не делать доп. проверок, это только доп. нагрузка для проца.
Ну раз нет других способов, так нет. Написал не реалтайме чтоб проверял, а только тогда, когда переменная isNeedLODList == true LODController сам LOD Хотя может я слишком помешан на оптимизации... Критику буду рад слышать. Это мой LOD скрипт для free версии :) |
Ответ: Фак по Юнити.
Блин, чтото с гуи парюсб парюсь. И не получается.
Подскажите как можно сделать область, в которой размер содержимого менялся в зависимости от размера области. Пробовал Areа - за её пределы спокойно выходят рисунки. Мне вообще это надо для отображения рисунков одинакового размера, при условии что сама текстура может быть разными размерами. Подскажите плиз как ограничить размер текстуры, желательно через Rect параметр для скрипта. |
Ответ: Фак по Юнити.
Немного непонятен вопрос, вот это подойдет?
http://docs.unity3d.com/Documentatio...TexCoords.html |
Ответ: Фак по Юнити.
Да Пакс, это то, только проблема в том что я использовал GUILayout, в котором объекты автоматом располагаются.
И в этом Layout пытался картинку вставить, с custom style и настроенным width height, но както коряво смотрится. Посоветуйте, стоит ли пользоваться GUILayout? Либо чтото другое. И в справке не могу найти (раньше натыкался), можно создать какуюто типо Area, в которой координаты свои, т.е. внутренние элементы дочерние с локальными координатами. Не знаете что за элемент? |
Ответ: Фак по Юнити.
Мне ГуиЛайоут нравится только тем что не надо расчитывать размеры каждого элемента
|
Ответ: Фак по Юнити.
Объясни предметно с рисунками что ты хочешь сделать, иначе хз как помочь. Я не понял проблемы. Но одно могу сказать точно - GUI в GUILayout не всегда можно использовать нормально, особенно простое рисование текстуры.
|
Ответ: Фак по Юнити.
Понял Пакс спасибо.
Не заморачивайся. Просто в GUILayout удобно что не надо координаты просчитывать. А так как моя панелька должна динамически менять положение, приходилось бы каждый раз просчитывать новые координаты каждого элемента. Нашёл то, что мне подойдёт. GUI.BeginGroup(); GUI.EndGroup(); а внутри группы координаты 0,0 является левый верхний угол группы. |
Ответ: Фак по Юнити.
GUILayout.Area тоже задается ректом и внутри нее относительные координаты. В нем можно текстуру рисовать с помощью GUILayout.Label например. В общем если поставишь нормально задачу - смогу что-то посоветовать.
|
Ответ: Фак по Юнити.
Pax, не встречал ошибку вебплеера Uncaught ReferenceError: unity is not defined, на странице Вк?
|
Ответ: Фак по Юнити.
Использую стандартный код из справки, таких ошибок давно не видел.
|
Ответ: Фак по Юнити.
Возник такой вопрос, можно ли както имея модельку с костями, добавить физику конкретно к костям, и геометрия также отрабатывала костям?
Я имею ввиду про подобие Ragdoll Да и если есть хороший тутор по такой теме и вообще джоинтов буду очень благодарен (ограничен в интернете) |
Ответ: Фак по Юнити.
GameObject=>Create Other=>Ragdall
http://docs.unity3d.com/Documentatio...ollWizard.html |
Ответ: Фак по Юнити.
Я это смотрел, только так и не понял что куда надо вставлять.
Не понятно что в root надо вставлять В остальные head, arm, .. надо вставлять кости? Точнее их трансформации? Тутора Не видео - не нашёл. Видео на вахте не потянет. А еще пока не знаю как рэгдоллы собирать, начал делать анимацию воды с движением вертексов. Возникло несколько вопросов Как по тутору сделал так, но хотелось бы узнать можно ли не перебирая все точки, взять определённую и трансформировать? PHP код:
|
Ответ: Фак по Юнити.
На сколько я помню в этом туторе был пример настройки рагдола.
|
Ответ: Фак по Юнити.
Спасибо Пакс, помню с тобой обсуждал, sharedMesh, который помогал не терять меш в префабе.
Но тут начал менять вертексы в sharedMesh и он мне портит меш в реале, причем без возврата, что не так? |
Ответ: Фак по Юнити.
Шаред меш это ссылка на ресурс, т.е. не копия ресурса а сам ресурс. Если ты хочешь изменить экземпляр, то используй свойство mesh либо Instantiate для меша, копию которого хочешь сделать, потом назначай его на sharedMesh.
Если это импортированная модель, то ты можешь сделать ей реимпорт чтобы исправить меш. |
Ответ: Фак по Юнити.
Пытался узнать сколько времени тратится на скрипт, но не получилось
PHP код:
|
Ответ: Фак по Юнити.
используй Time.realtimeSinceStartup
|
Ответ: Фак по Юнити.
Вложений: 2
Нифига се точность, показывает время до 1 / 10000 секунды.
По поводу воды еще вопрос возник. Как в юнити смешивать несколько текстур. Я хотел на воду наложить парочку текстур полупрозрачных и прикрутить карту блеска. Есть ли готовые варианты решения задачи? И еще повылазили артефакты сквозь волны из-за прозрачности, как можно отключить у материала culling Если только через шейдер, то можно гдето достать из Юнити стандартные шейдеры типа Diffuse, чтобы заточить под себя? Или надо z-буффер на воду отрубать? Если да, то как? |
Ответ: Фак по Юнити.
Что, никто не поможет?
|
Ответ: Фак по Юнити.
Цитата:
С прозрачными объектами сложной формы всегда сложно, может им не нужна прозрачность? http://unity3d.com/unity/download/archive справа шейдеры |
Ответ: Фак по Юнити.
Ну это ж вода, хотелось бы хоть немного альфы.
А про шейдеры не понял, в Юнити же вроде точно такие же.. Если нет, то какой может подойти? |
Ответ: Фак по Юнити.
Это те же шейдеры, ты просил оригинальные.
Меняй любой, называй по своему и это новый шейдер. чтобы выключить кулинг - Cull Off http://docs.unity3d.com/Documentatio...s/SL-Pass.html |
Ответ: Фак по Юнити.
А понял, спасибо Андрюх!
Ты случайно не в Нефтеюганске живёшь, я бы проставился )) |
Ответ: Фак по Юнити.
Всем доброго времени суток. Наконец то разобрался с ragdoll'ами и понял что это подходит только для человекоподобных существ, у которых должны быть ноги, колени, руки локти и тд.
А я думал что можно выбрать кости: к примеру голова, спина и любая нога. И получиться червяк.. ) Но юнити требует все вышеописанные кости. Можно ли попустим сделать паука рэгдолом(я подразумеваю физический труп) без ручного прописания всех джоинтов? Или все таки придётся для каждой лапы прописывать связь и тд? И каждую кость делать Rigidbody? |
Часовой пояс GMT +4, время: 01:40. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot