Вопрос-[ответ] по Unity
|
|
QWER56 | Дата: Понедельник, 09 Августа 2010, 10:58 | Сообщение # 1 |
старожил
Сейчас нет на сайте
| Вопрос-[Ответ] по Unity3d
База скриптов Unity3d Курс Уроков по Unity 3D от Alcatraz
ConsMark - поисковик по интернет магазинам.
Сообщение отредактировал QWER56 - Вторник, 26 Июля 2011, 20:54 |
|
| |
Левша | Дата: Суббота, 09 Ноября 2013, 19:45 | Сообщение # 4881 |
почти ветеран
Сейчас нет на сайте
| Цитата Adom ( ) при падении большого объекта (например большой куб) то камера тряслась рандомной сменой позиции в заданном диапазоне.
X.cor.R (Prologue)
|
|
| |
Adom | Дата: Суббота, 09 Ноября 2013, 21:31 | Сообщение # 4882 |
Печенька!
Сейчас нет на сайте
| Вот еще один вопрос как пользоваться public class?
|
|
| |
Pocifik | Дата: Суббота, 09 Ноября 2013, 21:41 | Сообщение # 4883 |
участник
Сейчас нет на сайте
| Цитата Adom ( ) Вот еще один вопрос как пользоваться public class? Как вообще можно понять этот вопрос?
|
|
| |
Danteo122 | Дата: Суббота, 09 Ноября 2013, 22:10 | Сообщение # 4884 |
постоянный участник
Сейчас нет на сайте
| Цитата Adom ( ) Повторю свой вопрос. Как можно реализовать чтобы при падении большого объекта (например большой куб) то камера тряслась и было похоже на землетрясение. Создай Емпти, удочери камеру, добавь анимацию землятрясения, запиль скрипт и вуоля!
|
|
| |
NEBR | Дата: Суббота, 09 Ноября 2013, 22:41 | Сообщение # 4885 |
почти ветеран
Сейчас нет на сайте
| Danteo122, самое простое и красивое решение )))
King Size #Gamiron12
|
|
| |
allods | Дата: Воскресенье, 10 Ноября 2013, 04:39 | Сообщение # 4886 |
почти ветеран
Сейчас нет на сайте
| Цитата NEBR ( ) самое простое и красивое решение ))) Только трястись будет всегда одинакого, рандом еще легче чем анимку делать
|
|
| |
NEBR | Дата: Воскресенье, 10 Ноября 2013, 11:10 | Сообщение # 4887 |
почти ветеран
Сейчас нет на сайте
| Цитата allods ( ) Только трястись будет всегда одинакого, рандом еще легче чем анимку делать но тут ведь мало написать , нужно еще связать рандом с движением камеры. я не вижу тут быстрых решений, в то время как анимацию камеры я бы сделал за одну минуту. Если кто то захочет чтобы тряслась камера каждый раз по разному (хотя по мне тряска она и есть тряска), можно сделать две, три разных анимации тряски и рандомом выбирать какую из них проиграть.
King Size #Gamiron12
|
|
| |
Ranger | Дата: Воскресенье, 10 Ноября 2013, 13:37 | Сообщение # 4888 |
почти ветеран
Сейчас нет на сайте
| Цитата NEBR ( ) я не вижу тут быстрых решений В чем проблема 1. создаешь отдельный вектор vector3 который отвечает за позицию камеры Vector3 MyPos; 2. меняешь его, как нужно тебе по задаче. 3. Когда трясет: Код Vector3 ShiftPos = New Vector3 (Random.Range(-5f,5f),Random.Range(-5f,5f),Random.Range(-5f,5f)); transform.position = MyPos + ShiftPos; 4. соответственно, когда не трясет: Код transform.position = MyPos;
Можешь еще нормировочные коэффициенты поставить Код Random.Range(-5f,5f)*K для совсем "гурманов"
Сообщение отредактировал Ranger - Воскресенье, 10 Ноября 2013, 13:49 |
|
| |
NEBR | Дата: Воскресенье, 10 Ноября 2013, 13:54 | Сообщение # 4889 |
почти ветеран
Сейчас нет на сайте
| Ranger, ты для примера взял число 5. На практике нужно рассчитать это число, для этого нужно несколько раз запустить сцену, подбирать нужное значение. К тому же твой код приведет к тому что камера дернется один раз. А она должна трястить, это сколько подобных строчек нужно будет написать? Причем с разными значениями. Плюс еще для гурманов делать коэффициеты, которые также рассчитывать. Вот я и говорю что проще будет сделать анимацию за одну минуту.
King Size #Gamiron12
|
|
| |
Ranger | Дата: Воскресенье, 10 Ноября 2013, 14:05 | Сообщение # 4890 |
почти ветеран
Сейчас нет на сайте
| Цитата NEBR ( ) К тому же твой код приведет к тому что камера дернется один раз. А она должна трястить, это сколько подобных строчек нужно будет написать? А в update не судьба засунуть?? только настрой таймер, а то она у тебя трястить будет со скоростью ФПС. Геймеры будут в эпилептических припадках валяться
Цитата NEBR ( ) для этого нужно несколько раз запустить сцену, подбирать нужное значение. Один раз достаточно. Выведи K в паблик переменную и подбери "на лету".
Цитата Ranger ( ) Вот я и говорю что проще будет сделать анимацию за одну минуту. Хозяин-барин..Чо.
Сообщение отредактировал Ranger - Воскресенье, 10 Ноября 2013, 14:06 |
|
| |
NEBR | Дата: Воскресенье, 10 Ноября 2013, 14:49 | Сообщение # 4891 |
почти ветеран
Сейчас нет на сайте
| Цитата Ranger ( ) Хозяин-барин..Чо. да это вообще был не мой вопрос! Просто если бы я делал эту тряску, сделал бы ее как сказано выше!
King Size #Gamiron12
|
|
| |
NEBR | Дата: Воскресенье, 10 Ноября 2013, 14:50 | Сообщение # 4892 |
почти ветеран
Сейчас нет на сайте
| Ranger, вот для прикола попробуй, собири этот скрипт в сцене, настрой его ) Поймешь какой это гемор )
King Size #Gamiron12
|
|
| |
Adom | Дата: Воскресенье, 10 Ноября 2013, 14:52 | Сообщение # 4893 |
Печенька!
Сейчас нет на сайте
| Я тут как-то сделал. Проблема в том что Random.Range работает только один раз как сделать чтобы он работал бесконечно ? Код using UnityEngine; using System.Collections;
public class Cube : MonoBehaviour { public Transform Player; public int a = 0; public int rot = 0; // Use this for initialization void Start () { } // Update is called once per frame void Update () { if(Input.GetKey(KeyCode.F)){ a = Random.Range(1,2); } if(a == 1){ Player.localRotation = Quaternion.AngleAxis (rot, Vector3.right); }else{ if(a == 2){ Player.localRotation = Quaternion.AngleAxis (rot, Vector3.left); } } } }
|
|
| |
NEBR | Дата: Воскресенье, 10 Ноября 2013, 15:03 | Сообщение # 4894 |
почти ветеран
Сейчас нет на сайте
| Adom, рандому не из чего выбирать. ты задал ему диапазон из одного значения a = Random.Range(1,2) - в этом случае всегда будет еденица. Если делаешь рандом из двух значений, нужно a = Random.Range(1,3); Тогда будет рандом, включающий еденицу и двойку.
King Size #Gamiron12
|
|
| |
Adom | Дата: Воскресенье, 10 Ноября 2013, 15:14 | Сообщение # 4895 |
Печенька!
Сейчас нет на сайте
| А как запускать этот Random через нажатие кнопки например ?
|
|
| |
NEBR | Дата: Воскресенье, 10 Ноября 2013, 15:43 | Сообщение # 4896 |
почти ветеран
Сейчас нет на сайте
| Adom, запускаешь ты правильно
King Size #Gamiron12
|
|
| |
allods | Дата: Воскресенье, 10 Ноября 2013, 16:18 | Сообщение # 4897 |
почти ветеран
Сейчас нет на сайте
| чтоб дергалось не один раз а пока экран не треснет, то сделай новую переменную которая будет ровна true после нажатия кнопки, и пока она ровна true то твой а = рандому от 1-3. ну и дальше там таймер или еще что чтоб отключить твой true на false;
|
|
| |
Adom | Дата: Воскресенье, 10 Ноября 2013, 17:31 | Сообщение # 4898 |
Печенька!
Сейчас нет на сайте
| allods,Спасибо. =) Всем кто помог + в репу.:D
|
|
| |
allods | Дата: Воскресенье, 10 Ноября 2013, 18:10 | Сообщение # 4899 |
почти ветеран
Сейчас нет на сайте
| Мой вопрос Сделал ядро как у пушки, летит от пушки до цели но не за ним а туда где была цель до вытсрела! rigidbody.AddRelativeForce (Vector3(fwd.x*4500,dist*3000,fwd.z*4500)*Time.deltaTime); летит с одной скорость 4500 а расстояние которое пролетает ядро меняется в зависимости от дистанции до цели. Вот все работает но первый выстрел первой пушки всегда отправляет ядро к чертовой бабке. Вот из за чего эта хрень? В старте пробывал rigidbody.AddRelativeForce 0,0,0); но не че не меняет
|
|
| |
Ranger | Дата: Воскресенье, 10 Ноября 2013, 20:00 | Сообщение # 4900 |
почти ветеран
Сейчас нет на сайте
| allods, скорее всего чтото в неправильном порядке выполения скриптов Может быть также что в ядре при инициализации уже быда заложена скорость. Debug.log каждый выстрел. Смотри на rigidbody.velocity. и массу объекта. По необходимости ручками нули скорость regidbody.velocity = new vecTor3 (0,0,0);
|
|
| |