Вопрос-[ответ] по Unity
|
|
QWER56 | Дата: Понедельник, 09 Августа 2010, 10:58 | Сообщение # 1 |
старожил
Сейчас нет на сайте
| Вопрос-[Ответ] по Unity3d
База скриптов Unity3d Курс Уроков по Unity 3D от Alcatraz
ConsMark - поисковик по интернет магазинам.
Сообщение отредактировал QWER56 - Вторник, 26 Июля 2011, 20:54 |
|
| |
Lertmind | Дата: Вторник, 29 Марта 2016, 01:36 | Сообщение # 7701 |
заслуженный участник
Сейчас нет на сайте
| llogi, как вариант, текст тоже можешь добавить в префаб, а после создания установить у них родителя Canvas с помощью Transform.SetParent. Чтобы после установки родителя не терялась позиция, копируешь anchoredPosition у RectTransform, а потом ставишь:Код public GameObject TextP; public Transform CanvasT;
void Start() { GameObject go = Instantiate<GameObject>(TextP); RectTransform rt = go.GetComponent<RectTransform>(); Vector2 ap = rt.anchoredPosition; rt.SetParent(CanvasT); rt.anchoredPosition = ap; } Возможно есть более элегантный способ.
Сообщение отредактировал Lertmind - Вторник, 29 Марта 2016, 02:01 |
|
| |
allods | Дата: Вторник, 29 Марта 2016, 03:07 | Сообщение # 7702 |
почти ветеран
Сейчас нет на сайте
| У кого такая проблема как у меня? В UI toggle вызывает 2 раза функцию при нажатии... ?
|
|
| |
Lertmind | Дата: Вторник, 29 Марта 2016, 16:05 | Сообщение # 7703 |
заслуженный участник
Сейчас нет на сайте
| allods, похоже только у тебя, в новом проекте в Unity 5.3.4f1 всё работает правильно. Если хочешь решить проблему, то стоит предоставить больше информации.
|
|
| |
allods | Дата: Среда, 30 Марта 2016, 16:39 | Сообщение # 7704 |
почти ветеран
Сейчас нет на сайте
| у меня 5,3,2f1
Добавлено (30 марта 2016, 16:39) ---------------------------------------------
Сообщение отредактировал allods - Среда, 30 Марта 2016, 16:47 |
|
| |
Бозингар | Дата: Четверг, 31 Марта 2016, 10:11 | Сообщение # 7705 |
почетный гость
Сейчас нет на сайте
| Что-то я упустил... А куда из пятой версии пропал MovePosition? В документации почему-то ответа не нашёл. _________________
Вроде разобрался.
#Хийвэл бүү ай, айвал бүү хий.
Сообщение отредактировал Бозингар - Четверг, 31 Марта 2016, 10:30 |
|
| |
STRATEG766 | Дата: Четверг, 31 Марта 2016, 20:53 | Сообщение # 7706 |
частый гость
Сейчас нет на сайте
| Как сделать , чтобы игрок при столкновении с некоторыми объектами, игрок проходил сквозь объектов?
|
|
| |
seaman | Дата: Четверг, 31 Марта 2016, 22:50 | Сообщение # 7707 |
старожил
Сейчас нет на сайте
| Цитата STRATEG766 ( ) Как сделать , чтобы игрок при столкновении с некоторыми объектами, игрок проходил сквозь объектов? http://docs.unity3d.com/Manual/LayerBasedCollision.html
|
|
| |
beril | Дата: Четверг, 31 Марта 2016, 23:51 | Сообщение # 7708 |
Я не ленивый, я — энергосберегающий
Сейчас нет на сайте
| Ребят есть к примеру обьект ISItemBase item. Как создать копию этого обьекта item ? Не хочется вручную все переменные назначать.....
Накодил? Убери за собой! Инвентарь в Unity(UI) Инвентарь в Unity(GUI)
|
|
| |
Lertmind | Дата: Пятница, 01 Апреля 2016, 00:54 | Сообщение # 7709 |
заслуженный участник
Сейчас нет на сайте
| beril, это легко ищется. В C# для маленьких классов надо самому писать Copy/Clone методы, для больших используют сериализацию. Здесь http://stackoverflow.com/questions/78536/deep-cloning-objects пример метода клонирования через сериализацию, класс должен быть с атрибутом Serializable и его поля иметь сериализуемые типы, например int подойдёт, а Vector3 уже нет.
|
|
| |
beril | Дата: Пятница, 01 Апреля 2016, 01:57 | Сообщение # 7710 |
Я не ленивый, я — энергосберегающий
Сейчас нет на сайте
| Цитата Lertmind ( ) beril, это легко ищется. В C# для маленьких классов надо самому писать Copy/Clone методы, для больших используют сериализацию. Здесь http://stackoverflow.com/questions/78536/deep-cloning-objects пример метода клонирования через сериализацию, класс должен быть с атрибутом Serializable и его поля иметь сериализуемые типы, например int подойдёт, а Vector3 уже нет. спасибо, но я уже понял, что "волшебного" способа нету... Проще вручную присвоить переменным значения
Накодил? Убери за собой! Инвентарь в Unity(UI) Инвентарь в Unity(GUI)
|
|
| |
seaman | Дата: Пятница, 01 Апреля 2016, 08:53 | Сообщение # 7711 |
старожил
Сейчас нет на сайте
| Есть "волшебный" способ! Object.MemberwiseClone
Цитата Метод MemberwiseClone создает поверхностную копию текущего объекта, а именно он создает новый объект, а затем копирует все нестатические поля текущего объекта в этот новый объект. Если поле имеет тип значения, выполняется копирование разрядной поля. Если же поле относится к ссылочному типу, то копируются ссылки, но не сами объекты, на которые они указывают; следовательно, ссылки в исходном объекте и в его клоне указывают на один и тот же объект.
|
|
| |
allods | Дата: Пятница, 01 Апреля 2016, 15:04 | Сообщение # 7712 |
почти ветеран
Сейчас нет на сайте
| Ребят, у меня есть объект с Rigidbody и 2мя wheel collider.
Нужно повернуть объект через rigidbody.AddRelativeTorque по горизонтали. Проблема в том что не возможно повернуть объект таким способом покуда есть 2 wheel collider а с motorTorque = 0. Такого не было в Unity4, появилось в unity 5.
Я мог вертеть через rigidbody.AddRelativeTorque к примеру машину с 4 колесами без проблем. Они скользили . В Unity5 даже с силой 99999м объект просто отказывается вертеться, как будто колеса приклеены. Как можно это исправить ?
|
|
| |
STRATEG766 | Дата: Пятница, 01 Апреля 2016, 16:29 | Сообщение # 7713 |
частый гость
Сейчас нет на сайте
| Цитата seaman ( ) http://docs.unity3d.com/Manual/LayerBasedCollision.html Спасибо, то что надо
|
|
| |
Lertmind | Дата: Пятница, 01 Апреля 2016, 20:47 | Сообщение # 7714 |
заслуженный участник
Сейчас нет на сайте
| Цитата allods ( ) Нужно повернуть объект через rigidbody.AddRelativeTorque по горизонтали. Ты про ось Y?
Цитата allods ( ) В Unity5 даже с силой 99999м объект просто отказывается вертеться, как будто колеса приклеены. Не правда, я сейчас попробовал. Зависит от массы, у меня масса 100 (колёса по 20) и силы в 100 хватает чтобы расшатать машину:
Код void FixedUpdate() { float turn = Input.GetAxis("Horizontal"); rb.AddRelativeTorque(Vector3.up * 100f * turn); } Можно вообще без учёта массы с ForceMode.Acceleration. Если хочешь "машину на льду", то ставишь Suspension Distance в 0. Я на самом деле не понял зачем тебе машину шатать.
Сообщение отредактировал Lertmind - Пятница, 01 Апреля 2016, 20:49 |
|
| |
allods | Дата: Воскресенье, 03 Апреля 2016, 18:35 | Сообщение # 7715 |
почти ветеран
Сейчас нет на сайте
| Цитата Lertmind ( ) Можно вообще без учёта массы с ForceMode.Acceleration. Если хочешь "машину на льду", то ставишь Suspension Distance в 0. Я на самом деле не понял зачем тебе машину шатать.
Не шатать а вертеть. Хз но у меня с массой в 10к при силе в 2000 не вертит ее
|
|
| |
Lertmind | Дата: Воскресенье, 03 Апреля 2016, 19:43 | Сообщение # 7716 |
заслуженный участник
Сейчас нет на сайте
| Цитата allods ( ) Хз но у меня с массой в 10к при силе в 2000 не вертит ее Ха, там при массе 1000 уже надо силы порядка 10000 или 100000 не помню, чтобы сдвинуть.
Цитата allods ( ) Не шатать а вертеть. Я и говорю, чтобы вертеть надо либо Suspension Distance в 0, либо отключать временно колёса. При этом физический материал не поможет - физика колёс считается отдельно от остальной физики. Так зачем тебе поворот? Поворот будет когда машина неподвижна, в гараже например? В этом случае тебе не нужна физика колёс. Если во время движения, то нужна особая настройка, в таком я не разбираюсь.
Сообщение отредактировал Lertmind - Воскресенье, 03 Апреля 2016, 19:44 |
|
| |
allods | Дата: Понедельник, 04 Апреля 2016, 16:20 | Сообщение # 7717 |
почти ветеран
Сейчас нет на сайте
| К примеру я делаю танк, проще вращать его так чем одни колеса назад другие в перед
Добавлено (04 апреля 2016, 16:19) --------------------------------------------- кто может дополнить мой Шейдер
Мне нужны тени на объектах, что надо дописать?
Код Shader "Transparent/VertexLit with Z" { Properties { _Color ("Main Color", Color) = (1,1,1,1) _MainTex ("Base (RGB) Trans (A)", 2D) = "white" {} } SubShader { Tags {"RenderType"="Transparent" "Queue"="Transparent"} // Render into depth buffer only Pass { ColorMask 0 } // Render normally Pass { ZWrite Off Blend SrcAlpha OneMinusSrcAlpha ColorMask RGB Material { Diffuse [_Color] Ambient [_Color] } Lighting On SetTexture [_MainTex] { Combine texture * primary DOUBLE, texture * primary } }
} FallBack "Transparent/Cutout/VertexLit" }
Добавлено (04 апреля 2016, 16:20) ---------------------------------------------
Цитата Lertmind ( ) Если во время движения, то нужна особая настройка, в таком я не разбираюсь.
Вот именно что в движении достаточно и половины дозы чтобы его повернуть, никаких настрое не надо, а вот в стоячей не катит
Сообщение отредактировал allods - Понедельник, 04 Апреля 2016, 16:21 |
|
| |
Vicka | Дата: Понедельник, 04 Апреля 2016, 17:19 | Сообщение # 7718 |
Another ART
Сейчас нет на сайте
| Вот чей-то за хрень?
Почему в горизонтально плоскости все ок а вертикальный такой вот резкий поворот на 180 градусов?
Код //Поворот на цель transform.rotation = Quaternion.Lerp(transform.rotation, Quaternion.LookRotation(SpotTarget.transform.position - transform.position), speed * Time.deltaTime);
|
|
| |
allods | Дата: Понедельник, 04 Апреля 2016, 17:33 | Сообщение # 7719 |
почти ветеран
Сейчас нет на сайте
| Код Vector3 rot = Quaternion.Lerp(transform.rotation, Quaternion.LookRotation(SpotTarget.transform.position - transform.position), speed * Time.deltaTime).eulerAngles;
transform.eulerAngles = new Vector3(rot.x,0,rot.z);
Может прокатит
или по какой оси у вас идет разворот на 180
Сообщение отредактировал allods - Понедельник, 04 Апреля 2016, 17:38 |
|
| |
Vicka | Дата: Понедельник, 04 Апреля 2016, 17:45 | Сообщение # 7720 |
Another ART
Сейчас нет на сайте
| allods, не не прокатило) Я специально видео прикрепила для наглядности. Резкий поворот идет по Y
|
|
| |