Вопрос-[ответ] по Unity
|
|
QWER56 | Дата: Понедельник, 09 Августа 2010, 10:58 | Сообщение # 1 |
старожил
Сейчас нет на сайте
| Вопрос-[Ответ] по Unity3d
База скриптов Unity3d Курс Уроков по Unity 3D от Alcatraz
ConsMark - поисковик по интернет магазинам.
Сообщение отредактировал QWER56 - Вторник, 26 Июля 2011, 20:54 |
|
| |
Kira | Дата: Четверг, 01 Августа 2013, 20:43 | Сообщение # 4421 |
заслуженный участник
Сейчас нет на сайте
| Omlette, таргет потерян, не правильна логика.
Unity3d разработчик на С#. Лучшее спасибо + в репу. "Безумие: делать одно и то же снова и снова, и ждать при этом разных результатов". "Человек, который никогда не ошибался никогда не пробовал ничего нового". "Если человек может спокойно управлять автомобилем во время поцелуя красивой девушки, значит он уделяет поцелую недостаточно внимания”. Альберт Эйнштейн
|
|
| |
Adom | Дата: Четверг, 01 Августа 2013, 21:51 | Сообщение # 4422 |
Печенька!
Сейчас нет на сайте
| Omlette,Сервер и клиент есть =D ладно еще подожду
Добавлено (01.08.2013, 21:51) --------------------------------------------- Kira,Не поможешь разобраться с управлением в мультиплеере каждый игрок двигается нормально но когда например игрок сервера уходит далеко а у клиента он возвращяеться где был И у серевра потом происходит тоже самое что делать ? и тоже самая проблема с клиентом. Вот скрипты. Код using UnityEngine; using System.Collections;
public class ControllerD : MonoBehaviour { public Transform Player; // Use this for initialization void Start () { } // Update is called once per frame void Update () { if(Input.GetKey(KeyCode.W)){ Player.Translate(0,0,1 *1); } // if(Input.GetKey(KeyCode.S)){ Player.Translate(0,0,-1 *1); } // if(Input.GetKey(KeyCode.D)){ Player.Translate(1,0,0 *1); } // if(Input.GetKey(KeyCode.A)){ Player.Translate(-1,0,0 *1); } if(Input.GetKey(KeyCode.Space)){ Player.Translate(0,1,0 *1); } } } И вот этот Код using UnityEngine; using System.Collections; public class Shooting : MonoBehaviour { public Transform bullet; //Префаб патрона public Transform MuzzleFlash; //публичная переменная для префаба вспышки public int BulletForce = 5000; //Скорость патрона public AudioClip Fire; //Аудиоклип воспроизводящийся во время стрельбы public AudioClip Reload; //Аудиоклип воспроизводящийся во время перезарядки private float ReloadTimer = 0.0f; //Переменная для таймаута перезарядки private float MuzzleFlashLifetime = 0.0f; //Время жизни вспышки // Use this for initialization
void Start () { MuzzleFlash.active = false; // вспышка невидима } // Update is called once per frame void Update () { if(Input.GetKeyUp(KeyCode.Mouse0)) //Если нажата ЛКМ и кол-во патронов больше 0 { Shoot(); }
if(ReloadTimer>0) //если таймер больше 0 { ReloadTimer -= Time.deltaTime; //Переменная перезарядки уменьшается с течением времени } if(MuzzleFlashLifetime>0) //если время жизни вспышки больше 0 { MuzzleFlashLifetime -= Time.deltaTime; //Переменная времени жизни вспышки уменьшается с течением времени } if(MuzzleFlashLifetime<=0) //если время жизни вспышки больше 0 { MuzzleFlash.active = false; // вспышка невидима } } void Shoot() { Transform BulletInstance = (Transform) Instantiate(bullet, GameObject.Find("BulletSpawnPoint").transform.position, Quaternion.identity); //Генерится префаб патрона в координатах объекта "BulletSpawnPoint" BulletInstance.rigidbody.AddForce(transform.forward * BulletForce); //Сгенерированый патрон отправляется вперед со скоростью "BulletForce" audio.PlayOneShot(Fire);//проигрываем звук выстрела MuzzleFlash.active = true; //вспышка от выстрела видна MuzzleFlashLifetime = 0.1f; //установка времени жизни вспышки } }
Сообщение отредактировал Adom - Пятница, 02 Августа 2013, 21:25 |
|
| |
lentinant | Дата: Четверг, 01 Августа 2013, 23:24 | Сообщение # 4423 |
ленивый программист
Сейчас нет на сайте
| Omlette, а target ты где получаешь?
Когда-то тут будут ссылки на крутые проекты. Или нет.
|
|
| |
E][pert | Дата: Пятница, 02 Августа 2013, 16:23 | Сообщение # 4424 |
C#-XNA-Unity
Сейчас нет на сайте
| В общем есть префаб и объект. По координатам объекта при нажатии спавнятся префабы. Но объект меняет свои координаты иногда. Как сделать что бы пока префаб существует он постоянно наследовал координаты объекта.
Помогаю по мере возможностей, учусь по мере сил. ©E}{pert Tower defence in processing... For Web/iOS/Android.
|
|
| |
EchoIT | Дата: Пятница, 02 Августа 2013, 16:39 | Сообщение # 4425 |
старожил
Сейчас нет на сайте
| E][pert, а запарентить разрешается? Префаб.transform.parent=твой объект.
Долгожданный анонсик: State of War
|
|
| |
lentinant | Дата: Пятница, 02 Августа 2013, 17:16 | Сообщение # 4426 |
ленивый программист
Сейчас нет на сайте
| E][pert, не совсем понял. Тебе нужно, чтобы все заспавленные инстансы префаба двигались за объектом?
Когда-то тут будут ссылки на крутые проекты. Или нет.
|
|
| |
E][pert | Дата: Пятница, 02 Августа 2013, 17:24 | Сообщение # 4427 |
C#-XNA-Unity
Сейчас нет на сайте
| EchoIT, нет. if(yes) двигаем объект в одном направлении else в другом Проблема в том что бы двигать префаб за объектом hitGO=Instantiate(пребаф); hitGO.transform.position=go.transform.position;Добавлено (02.08.2013, 17:24) --------------------------------------------- lentinant, угу
Помогаю по мере возможностей, учусь по мере сил. ©E}{pert Tower defence in processing... For Web/iOS/Android.
|
|
| |
lentinant | Дата: Пятница, 02 Августа 2013, 18:07 | Сообщение # 4428 |
ленивый программист
Сейчас нет на сайте
| E][pert, ну так в чем проблема? Все заспавленные инстансы в массив gameObject, и в апдейте через foreach (for для джаваскрипт) всем элементам массива менять расположение. Можно оптимизировать, добавив переменную вектор "последнее известное расположение объекта", смотреть, совпадает ли текущее расположение объекта с этим вектором, если нет, то присвоить вектору новое значение, и соответственным образом переместить все инстансы префаба.
Когда-то тут будут ссылки на крутые проекты. Или нет.
|
|
| |
E][pert | Дата: Пятница, 02 Августа 2013, 18:30 | Сообщение # 4429 |
C#-XNA-Unity
Сейчас нет на сайте
| lentinant, написал выше как оно должно было бы менять позицию но этого не происходит.
Помогаю по мере возможностей, учусь по мере сил. ©E}{pert Tower defence in processing... For Web/iOS/Android.
|
|
| |
lentinant | Дата: Пятница, 02 Августа 2013, 19:17 | Сообщение # 4430 |
ленивый программист
Сейчас нет на сайте
| E][pert, где именно? Код hitGO=Instantiate(пребаф); hitGO.transform.position=go.transform.position; Это? Оно меняет позицию только последнего заспавненного инстанса же.
Когда-то тут будут ссылки на крутые проекты. Или нет.
|
|
| |
JHawk | Дата: Пятница, 02 Августа 2013, 19:40 | Сообщение # 4431 |
めゃくちゃちゃ
Сейчас нет на сайте
| Adom, твой код невозможно читать. Ставь пробелы и табы!
|
|
| |
E][pert | Дата: Пятница, 02 Августа 2013, 19:42 | Сообщение # 4432 |
C#-XNA-Unity
Сейчас нет на сайте
| lentinant, да. Да последнего. Но оно не меняет позицию. Я сделаю потом что будет справнится только 1.
Помогаю по мере возможностей, учусь по мере сил. ©E}{pert Tower defence in processing... For Web/iOS/Android.
|
|
| |
Adom | Дата: Пятница, 02 Августа 2013, 19:52 | Сообщение # 4433 |
Печенька!
Сейчас нет на сайте
| JHawk,Вроде все читаемо
|
|
| |
GameLoper | Дата: Пятница, 02 Августа 2013, 19:56 | Сообщение # 4434 |
Нуб в гейм-деве
Сейчас нет на сайте
| Цитата (Adom) JHawk,Вроде все читаемо happy tab не ,не слышал?
Single of game tycoon = 10%
|
|
| |
Adom | Дата: Пятница, 02 Августа 2013, 20:02 | Сообщение # 4435 |
Печенька!
Сейчас нет на сайте
| Нет не слышал ))
|
|
| |
lentinant | Дата: Пятница, 02 Августа 2013, 21:15 | Сообщение # 4436 |
ленивый программист
Сейчас нет на сайте
| E][pert, в общем, hitGO.transform.position=go.transform.position не работает?
Когда-то тут будут ссылки на крутые проекты. Или нет.
|
|
| |
E][pert | Дата: Пятница, 02 Августа 2013, 22:13 | Сообщение # 4437 |
C#-XNA-Unity
Сейчас нет на сайте
| lentinant, неа.
Помогаю по мере возможностей, учусь по мере сил. ©E}{pert Tower defence in processing... For Web/iOS/Android.
|
|
| |
lentinant | Дата: Пятница, 02 Августа 2013, 22:49 | Сообщение # 4438 |
ленивый программист
Сейчас нет на сайте
| E][pert, странно. И ошибок никаких нет? Через что задается GO? Добавлено (02.08.2013, 22:49) --------------------------------------------- Помимо прочего, несколько вопросов по коллизии и прыжкам.
С onCollisionEnter і onCollisionStay мне все понятно. А теперь вопрос относительно OnCollisionExit - это событие вызывается каждый раз, когда тело перестает прикасаться к какому-либо объекту, или когда объект вообще ни к чему не прикасается?
Теперь насчет прыжков - как лучше всего их реализовать в собственном контроллере? Вот, собственно, для этого и был вопрос выше. Пока у меня была банальная буловская переменная "не в воздухе", которая менялась в зависимости от коллизий. Но как быть, когда, например, есть пол и есть стена, и игрок прыгает впритык к стене?
Когда-то тут будут ссылки на крутые проекты. Или нет.
Сообщение отредактировал lentinant - Пятница, 02 Августа 2013, 22:29 |
|
| |
Adom | Дата: Пятница, 02 Августа 2013, 23:23 | Сообщение # 4439 |
Печенька!
Сейчас нет на сайте
| ау Добавлено (02.08.2013, 23:23) --------------------------------------------- Эээм помогите как создавать объект там где находиться Player.Я просто хочу сделать его труп)) Покажите где копать.И скрипты готовые не нужны.
|
|
| |
lentinant | Дата: Пятница, 02 Августа 2013, 23:25 | Сообщение # 4440 |
ленивый программист
Сейчас нет на сайте
| Adom, просто заспавни через Instantiate
Когда-то тут будут ссылки на крутые проекты. Или нет.
|
|
| |