![]() |
Ответ: Вопросы от новичка
Код:
using UnityEngine; |
Ответ: Вопросы от новичка
А что если
PHP код:
|
Ответ: Вопросы от новичка
так же. в любом случае эоо,не решение, а затычка) а тебе не приходилось писать игры от третьего лица?
еще такой вопрос чешится) если я в апдейт активирую какой-то обьект, то можно после его отрисовки отключить без лишних переменных? т.е. перед апдейтом или после рендеринга каждый кадр отключать его? пока у меня есть дополнительная переменная отвечающая за его состояние. и в LateUpdate я делаю if !active then go.active = false; active = false. часто что-то надо включить на один кадр, а в следующем выключить. кумарит на такую мелочь тратить больше двух строк когда) может есть лучше способ решить это. |
Ответ: Вопросы от новичка
Что-то мне не заметно как она дрыгается... попробуй так:
PHP код:
на счет остановки - есть возможность запустить корутину, которая дождется конца кадра и сделает дело - http://docs.unity3d.com/Documentatio...ndOfFrame.html. |
Ответ: Вопросы от новичка
если бы понять почему при lerp дрожание происходит. теоретически камера просто должна немного отставать. но нет(.
за корутину и забыл, хотя я ее и не хотел использовать) |
Ответ: Вопросы от новичка
проблема была в том что цель двигалась в фиксед апдейт, а камера сглажывашась в кпдейт)
теперь надо как то сглаживать движение камеры после фиксед апдейт. наверна свой цикл с корутиной в цикле надо делать. может есть лучше варианты? update: лучше просто в фиксед апдейт это делать. конечно гарантии нет, что выполнятся будет именно после фиксед апдейта цели, но это и не надо) |
Ответ: Вопросы от новичка
есть твердое тело в лифте, лифт анимируется анимацией. можно сделать чтобы это тело не прыгало, когда лифт опускается?
|
Ответ: Вопросы от новичка
попробовать в LateUpdate смещать объект на величину смещения лифта с прошлого кадра?
|
Ответ: Вопросы от новичка
вручную смещать то просто)
да и не очень хорошо смещать rigid body вручную. |
Ответ: Вопросы от новичка
Попробуй двигать лифт в FixedUpdate и еще увеличить массу объекта.
|
Ответ: Вопросы от новичка
двигался он анимацией. достаточно было просто на лифт повесить rigid body)
кстати, не знаешь как в играх от третьего лица прицел игрока и камеры смотрит в одну точку? тут либо камера поворачивается туда куд попадает луч от прицела игрока. либо игрок поворачивается туда куда смотрит камера. но игрока поворачивать по моему не правильно. да и пучкать придется довольно длиный луч каждый кадр, что тоже не гуд. |
Ответ: Вопросы от новичка
Вот тут есть на тему поворота камеры и прицела: Перейти на Unity3D.com
|
Ответ: Вопросы от новичка
Цитата:
Цитата:
Например, все-таки направили один объект на другой. Теперь задача - заставить его двигаться прямо. сначала заставим двигаться прямо по глобальным координатам. потом, в зависимости от собственного поворота. а теперь заставим рандомно двигаться - то влево, то вправо, то назад в зависимости от собственного поворота. при чем, как общего, так только и по горизонтальному направлению. Напишите такие простые примеры - желательно, с комментариями, кому не лень. Я в упор не могу понять эту систему. Цитата:
что за Quaternion.AngleAxis? что за RotationSpeed*Time.deltaTime, Vector3.up? Я, конечно, все понимаю, что тут написано. Но блин, где TurnEntity(0,0,1) ? И все? Зачем столько сложностей? Как это все тут устроено? Что за вектор3? Откуда такое большое постоянно количество точек? Если для того, чтобы просто повернуть объект - я уже застопорился, то ... Как тут написать, например, поиск пути в 3д пространстве? Например? Блин, хочу тутор, начиная от синтаксиса, заканчивая этими банальными командами. А то все туторы, что читал - только запутывают. pax, добавь в аську, я тебя немного по достаю. :) И да, я не хочу лезть в дерби этих всех тем - наверняка, я такой не первый. |
Ответ: Вопросы от новичка
transform.localEulerAngles += new Vector3(30.0f, 0.0f, 0.0f);
Вот для привычных градусов. Но есть ограничения, лучше использовать кватернионы. Надо повернуть объект направно (то есть вокруг оси Y, так как она напрваленна вверх) на 30 градусов: Quaternion rightRotation = Quaternion.AngleAxis(30.0f, Vector3.up); transform.rotation = transform.rotation * rightRotation; Для создания сложных вращений кватернионы перемножаются. Порядок умножения имеет значение: в моем примере объект будет поворачиваться относительно локальной оси Y, если написать transform.rotation = rightRotation * transfrom.rotation, тогда объект будет поворачиваться относительно глобальной оси Y. Цитата:
Цитата:
Код:
using UnityEngine; |
Ответ: Вопросы от новичка
Цитата:
По порядку: 1. Каждый объект сцены имеет компонент Transform, который отвечает за ориентацию объекта в пространстве. 2. Получить компонент Transform в скрипте можно следующими способами:
4. Вектора можно складывать, вычитать: PHP код:
6. Кватернионы это боле сложная структоура - комплексный вектор. О них просто надо думать как о вращении. 7. trnasform.rotation - вращение объекта заданное кватернионом. 8. transform.eulerAngles - вращение заданное вектором в градусах. 9. transform.position - глобальная позиция 10. transform.rotation - глобальное вращение 11. transform.localRotation - локальное вращение 12. transform.localEulerAngles - локальные углы поворота в градусах. 13. transfrom.localPosition - локальная позиция. 14. пользоваться углами Эйлера сложно, т.к. часто они не превышают 180 или 360 градусов и меняются. 15. пользоваться надо кватернионами. 16. Вращать объект так же можно через transform.Rotate() 17. Перемещать объект можно через transfrom.Translate() 18. 16 и 17 аналогичны блицевским командам и принимают последним параметром пространство (Space.Self или Space.World). Честно скажу, что ими не пользовался ни разу. 19. transfrom.localScale - масштаб объекта (обычно Vector3(1,1,1)). |
Ответ: Вопросы от новичка
Кстати можешь для себя написать базовый класс, унаследованный от MonoBehaviour и в нем определить методы, которые тебе надо использовать без обращения к траносформу:
PHP код:
PHP код:
|
Ответ: Вопросы от новичка
о, это хорошая идея) модуль в юнайте )
transform.Translate(x,y,z, Space.Self); о. что за спейс.селф :) например, подставил х=1 - афигеть, теперь у меня кубик движется!! подставил -1 -он куда-то резко улетел :( |
Ответ: Вопросы от новичка
Self - локальные координаты.
Чтобы двигать с учетом времени, надо умножать на Time.deltaTime transform.Translate(1 * Time.deltaTime, 0, 0, Space.Self); Update вызывается каждый кадр. |
Ответ: Вопросы от новичка
Как много морок с этим андроидом, пока управление сделаешь - повешаться можно.
Настрочил код, который крутит что нужно за пальцем: PHP код:
//знает другой способ, подсобите. И как нормально узнать угол девайса, а то Код:
Vector3 ass=Input.accelerometer; А всегда акселерометр возращяет десятичные доли?(.0,.2,.5 и т.д) |
Ответ: Вопросы от новичка
УжЕ сам.ВСЕМ спасибо
|
Ответ: Вопросы от новичка
изучаю злых роботов. там все построенно на посылке сообщений с помощью SignalSender. вроде бы и удобно т.к. не надо создавать много скриптов, а один настраивать можно, чтобы при каких-то событиях он еосылал обьектам сообщения(например при взломе компа открывать двери и др) но пока разобрался что куда сообщения посылает пол дня прошло.
вот думаю как хорошо было бы, если в юнити был такой тип в который можно было записать ссылку на скрипт и метод. и конечно в инспекторе выводился бы список методов скрипта из которых можно было бы выбирать нужный. а то одну букву неправильно напишешь и ж@п@. думаю это было бы и не сложно сделать, но создать свой инспектор для простого класса нельзя( никому такая идея не приходила? |
Ответ: Вопросы от новичка
[зануда моде]
6. Кватернионы это боле сложная структоура - комплексный вектор гиперкомлексное число. О них просто надо думать как о вращении. [/зануда моде] |
Ответ: Вопросы от новичка
Код передвижения кубиков по полу локации. Кубики двигаются только вместе. Когда нажатие всего одно ноль реакции.
Код:
using UnityEngine; |
Ответ: Вопросы от новичка
я думаю из-за того, что происходит обрыв скрипта на стадии:
Код:
TPosition2 = Input.GetTouch(1).position; Код:
Input.touches ... Это прикол Unity что оно не вызывает OnCollision*** если ригид кинематический??? |
Цитата:
где obj это скрипт. Скрипт типа Component, имя метода - string. При старте получить метод по имени если надо вызывать через MethodInfo, если через мессаджи, то не надо. Делал много таких инспекторов в Antares Universe. Цитата:
Цитата:
|
Ответ: Вопросы от новичка
Цитата:
|
Ответ: Вопросы от новичка
Добрый день. Решил сделать какую нибудь небольшую казуалку. Хотелось сделать все на GUI без лишних объектов. Возник вопрос по "тыку" по гемам. Как определить по какой текстурке ткнули мышкой?
|
Ответ: Вопросы от новичка
pie, проверяй попала ли мышь в rect твоей текстуры. вообще gui для этого не очень годится. хотч в 4й версии он уже навеоно батчится.
pax, вот именно что я не пойму как в инспекторе изменить поле, чтобы при нажатии на него было не редактирование строки, а выподал список методов скрипта. но как я понимаю такое не сделать. хотя еще можно было бы сделать, если можно было бы сделать инспектор не для скрипта, а для обычного класса. в данном случае класса SignalSender. что вы за инспекторы в своей вселенной делаете? давно интересно было. можешь не очень тяжелый скрин сделать, а то инет мобильный. |
Ответ: Вопросы от новичка
Спасибо. На wiki нашел шейдер Planet. Вроде бы все хорошо, но не хватает бампа. Не могли бы Вы помочь прикрутить бамп к этому шейдеру?
Код:
Shader "planets" |
Ответ: Вопросы от новичка
Вложений: 3
И еще один вопрос. Вот скрипт: http://pastebin.com/ym0jxeHx.
Вроде все правильно. В первый раз местами кубы меняются. А при попытке снова поменять местами кубы выскакивает ошибка якобы я удалил нужный объект и его нет, но на самом деле он есть. (MissingReferenceException: The object of type 'GameObject' has been destroyed but you are still trying to access it. Your script should either check if it is null or you should not destroy the object.) Ругается на строчку GameObject gem = (GameObject)Instantiate(grid[i, j]); |
Ответ: Вопросы от новичка
Что лучше одна большая модель или много маленьких?
|
Ответ: Вопросы от новичка
много моделей - много дравколлов. хотя совсем мелкие модели сбатчатся, если материал один. но на это тоже время уйдет.
|
Ответ: Вопросы от новичка
Вложений: 1
Кто нить сможет помочь с моей проблемой?
|
Ответ: Вопросы от новичка
Цитата:
PHP код:
PHP код:
|
Ответ: Вопросы от новичка
Цитата:
Кольца должны всегда быть перпендикулярны камере? |
Ответ: Вопросы от новичка
Цитата:
|
Ответ: Вопросы от новичка
pax, вот будят у меня куча скриптов, которые посылают по несколько сообщений. мне тогда для каждого скрипта делать Editor?
Код:
[System.Serializable] |
Ответ: Вопросы от новичка
Ты говорил про невозможность, я тебе показал что это возможно. Лень скрипты (эдиторы) писать? Так и скажи.
|
Ответ: Вопросы от новичка
Как создать инспектор для одного скрипта я знаю. Я имел ввиду как изменить поле для своего типа во всех скриптах. Либо изменить инспектор для простого класса как тот ReceiverItem.
Если бы твой пример изменял дефолтный инспектор для ВСЕХ скриптов, то еще было бы нормально. Цитата:
Я хотел более\менее универсальный способ. кстати, впервые вижу такие конструкции Цитата:
Цитата:
|
Ответ: Вопросы от новичка
Одни противоречия
Цитата:
Цитата:
Цитата:
Цитата:
|
Ответ: Вопросы от новичка
Цитата:
Я хотел, чтобы код написанный раз работал всегда и везде, а не дописывать его для каждого скрипта. Ладно, как я изначально и думал решения тут нету. |
Ответ: Вопросы от новичка
В четверке появились класс PropertyDrawer и атрибут CustomPropertyDrawer для этих целей. А так же PropertyAttribute для модификации отображения конкретных свойств, например задать Range для чисел.
|
Ответ: Вопросы от новичка
Как сделать размытие при повороте камеры? (Blur, похоже, никуда не годится)
|
Ответ: Вопросы от новичка
например за денюшку http://u3d.as/content/insidious-tech...otion-blur/3hT
|
Ответ: Вопросы от новичка
а лучше не делать. я знаю целых ноль игр где это уместно.
|
Ответ: Вопросы от новичка
Цитата:
|
Ответ: Вопросы от новичка
pax, ты мне когда-то давал пример как рисовать с правой стороны экрана.
Код:
GUILayout.BeginArea(new Rect(0, 0, Screen.width, Screen.height)); Ведь (0, 0, Screen.width, Screen.height) это и так дефолтные координаты экрана. |
Ответ: Вопросы от новичка
Area это Vertical в заданном ректе. Вертикал начинается с верху этой области. Горизонтал в первой строке прижимает метку к правой части строки с использованием резинового пространства.
|
Ответ: Вопросы от новичка
А возможно в окне Game рисовать из Editor и отслеживать события мыши?
|
Ответ: Вопросы от новичка
В Game на врядли, в SceneView можно.
|
Ответ: Вопросы от новичка
Плохо. Я хотел сделать небольшой редактор gui, чтобы можно было трансформировать gui визуально.
И еще, нельзя сделать, чтобы GUILayout растягивал элементы на 1/n от ширины или высоты области рисования сохраняя пропорции? Или он только позиции вычисляет? Сейчас я кнопку сделал в отдельном классе и там вручную вычисляю позицию и размер Код:
float x = this.x * Screen.width / 100f + transform.position.x; Надо сделать GUI, чтобы нормально выглядел на разных экранах. |
Ответ: Вопросы от новичка
есть реализация редактирования GUI через хэндлы http://code.google.com/p/bitverse-unity-gui/
|
Ответ: Вопросы от новичка
PHP код:
|
Ответ: Вопросы от новичка
странное управление, а полностью весь скрипт и к нему прилагающийся (DDMove) можно?
|
Ответ: Вопросы от новичка
Всем привет. От делать нечего решил сделать небольшую игру типа Сапер. За сегодня сделал вот это: Онлайн
То есть расстановка всего необходимого. Белые кубы - мины. Не нравится мне только одно - расстановка этих самых мин. Расставляю я их так: Код:
for (int i = 0; i < 9; i++) { gameMinesArray - массив где указывается расположение мин на игровом поле; numberMines - максимальное кол-во мин на игровом поле; Что посоветуете Вы? |
Ответ: Вопросы от новичка
Можно как-то так:
PHP код:
|
Ответ: Вопросы от новичка
Как сделать структуру PlayerInfo
Допустим при заходе на сервер, игроку должно выдавать нулевые значения типа PlayerInfo[player][Health] = 0; В массиве находится "player", вот как раз это функция и нужна. Я не знаю, есть она в unity или нет. Как бы идет обращение к определенному игроку. |
Ответ: Вопросы от новичка
Поясни более подробно что ты хочешь. Предугадывать не очень прикольно.
PHP код:
|
Ответ: Вопросы от новичка
Цитата:
типа Код:
enum Info |
Ответ: Вопросы от новичка
Кому не лень тестируем "Сапер":
Играть онлайн |
Ответ: Вопросы от новичка
Что-то туплю с системой частиц.
Если каждый кадр вызывать метод Emit(), то создается огромная куча частиц. Можно как-то ограничить максимальное количество частиц? Делаю выстрел т.е. должно стрелять равномерно, но не таким огромным количеством частиц. |
Ответ: Вопросы от новичка
Ну почти)
![]() |
Ответ: Вопросы от новичка
Небольшие косметические обновления. Можно ставить флажки и вопросительные знаки. Ссылка та же. Посоветуйте что еще сделать что-бы было красиво и интересно играть.
|
Ответ: Вопросы от новичка
Цитата:
|
Часовой пояс GMT +4, время: 20:48. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot