Воскресенье, 17 Ноября 2024, 04:32

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
Вопрос-[ответ] по 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, а запарентить разрешается? biggrin
    Префаб.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,Вроде все читаемо happy
    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

    Когда-то тут будут ссылки на крутые проекты. Или нет.
    Поиск:

    Все права сохранены. GcUp.ru © 2008-2024 Рейтинг