Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   www.boolean.name > Проекты > Постмор

Постмор Истории успешного завершения проекта. Разрабы рассказывают, как к успеху шли.

Ответ
 
Опции темы
Старый 19.02.2020, 10:20   #31
mauNgerS
Разработчик
 
Аватар для mauNgerS
 
Регистрация: 10.10.2008
Сообщений: 501
Написано 258 полезных сообщений
(для 670 пользователей)
Ответ: I.D.S. MONSTERS

Супер беглый взгляд:
- можно не пускать луч каждый кадр, а только при нажатой кнопке
- можно постоянно использующиеся переменные завести 1 раз в start/awake
- вместо new Vector3() можно завести вектор шлюху и перезаписывать в нём значения
__________________
(Online)
 
Ответить с цитированием
Эти 3 пользователя(ей) сказали Спасибо mauNgerS за это полезное сообщение:
ABTOMAT (19.02.2020), Crystal (19.02.2020), Randomize (Вчера)
Старый 19.02.2020, 10:38   #32
ABTOMAT
Ференька
 
Аватар для ABTOMAT
 
Регистрация: 25.01.2007
Адрес: улица Пушкина дом Колотушкина
Сообщений: 10,609
Написано 5,364 полезных сообщений
(для 15,467 пользователей)
Ответ: I.D.S. MONSTERS

//Определяем координаты персонажа
                    
ChelCoordinate Chel.transform.position Time.deltaTime
Тут Дельта Тайм нинужен, в лог потом выводятся неверные данные.
В остальном не вижу причин, по которым может дёргаться.
Может, FPS просто скачет? Хотя какой должен быть комп чтобы скакало.
__________________
Мои проекты:
Анальное Рабство
Зелёный Слоник
Дмитрий Маслов*
Различие**
Клюква**

* — в стадии разработки
** — в стадии проектирования
Для проектов в стадии проектирования приведены кодовые имена

(Offline)
 
Ответить с цитированием
Старый 19.02.2020, 14:34   #33
Crystal
Терабайт исходников
 
Аватар для Crystal
 
Регистрация: 05.07.2007
Сообщений: 4,716
Написано 1,466 полезных сообщений
(для 4,792 пользователей)
Ответ: I.D.S. MONSTERS

Сообщение от mauNgerS Посмотреть сообщение
Супер беглый взгляд:
- можно не пускать луч каждый кадр, а только при нажатой кнопке
- можно постоянно использующиеся переменные завести 1 раз в start/awake
- вместо new Vector3() можно завести вектор шлюху и перезаписывать в нём значения
Проорал ) Вектор шлюха )
Когда до оптимизации говнокода дойдёт, вспомню о совете.
Сам знаешь, код написан для того, чтобы постоянно его переписывать.

Луч пускается постоянно для отрисовки в окне сцены, чтобы я видел куда он падает.

Сообщение от ABTOMAT Посмотреть сообщение
Тут Дельта Тайм нинужен, в лог потом выводятся неверные данные.
В остальном не вижу причин, по которым может дёргаться.
Может, FPS просто скачет? Хотя какой должен быть комп чтобы скакало.
Да дельта тайм не нужен, это мусорный участок кода, я ожидал что заметишь, впадлу было стереть.

Оказалось дёргалось только в окне Game в Unity,
в билде было на тот момент всё нормально.
Перезагрузил комп, теперь и в юнити не дёргается.

Скоро ещё понадобятся тестеры, я пишу управление камерой а ля RTS.
Сегодня уже наверно билд с кодом выложу.

Последний раз редактировалось Crystal, 19.02.2020 в 15:43.
(Offline)
 
Ответить с цитированием
Эти 4 пользователя(ей) сказали Спасибо Crystal за это полезное сообщение:
ABTOMAT (19.02.2020), Arton (19.02.2020), Randomize (Вчера), St_AnGer (19.02.2020)
Старый 19.02.2020, 17:15   #34
Crystal
Терабайт исходников
 
Аватар для Crystal
 
Регистрация: 05.07.2007
Сообщений: 4,716
Написано 1,466 полезных сообщений
(для 4,792 пользователей)
Ответ: I.D.S. MONSTERS

Итак следующий билд.
RTS камера относительно готова.
Скачать ТЫК.

У камеры появился родительский пивот, который я двигаю "CamPapa".
Что умеет камера:
1. Двигаться в восьми направлениях, когда курсор доходит до края экрана.
2. Отдаляться и возвращаться обратно по пяти шагам колесом мышки.
3. Ориентироваться на местности по длине и ширине игрового уровня,
останавливая своё движение доходя до края.
(Размер игрового уровня сейчас равен размеру плейна).

Что камера не умеет:
Не умеет поворачиваться по осям. Во первых это функция
сомнительной нужности для геймдизайна моего проекта.
Во вторых, в данный момент если повернуть камеру,
то её ориентация в координатах игрового уровня
слетит к херам, превратившись из квадрата в неведомую
геометрическую фигуру. Чтобы поворачивать камеру,
придётся расчитывать ориентацию с учётом угла поворота
камеры, а это вам уже не 10 на 10 умножить так сказать,
придётся голову напрячь, возможно и реализую если потребуется.

Ограничение движения камеры коллизией с кубом, который натянут на уровень - не предлагать! слишком просто.

Говнокод управления камерой:

public class CamController : MonoBehaviour
{

    public GameObject CamPapa; // Пивот к которому привязана камера
    public int CamTranslateSpeed = 10; // Скорость движения камеры
    public float CamRemoveStep = 1.5f; // Шаг отдаления камеры
    public int CamDegreeRemove = 5; // Переменная со стартовым шагом, отсчёт идёт от 5 до 10, т.е. мы можем сделать максимум 5 шагов отдаляющих камеру, и после до 5 приближающих.
    public float CamMooveRangeX = 10f; // Область перемещения камеры по оси "x" соответствующая ширине игровой карты .
    public float CamMooveRangeZ = 10f; // Область перемещения камеры по оси "z" соответствующая длине игровой карты .
    public float CamPositionX; // Текущие координаты CamPapa по оси "x".
    public float CamPositionZ; // Текущие координаты CamPapa по оси "z".
    public Vector3 CamPapaCoordinate; //Резервная переменная для запроса вектора из трёх координат положения CamPapa.

    void Update()
    {

        //Проверка положения мыши в районе правого края экрана


        if (Input.mousePosition.x >= Screen.width - 5.3f)
        {
            CamPositionX = CamPapa.transform.position.x;

            //Если "x" координаты CamPapa меньше ширины игровой карты мы двигаем камеру вправо
            if (CamPositionX < CamMooveRangeX)
            {
            CamPapa.transform.Translate(Vector3.right * CamTranslateSpeed * Time.deltaTime);
            }
         }

        //Проверка положения мыши в районе левого края экрана
        if (Input.mousePosition.x <= 0.1f)
        {
            CamPositionX = CamPapa.transform.position.x;

            //Если "x" координаты CamPapa дальше начальной координаты игровой карты мы двигаем камеру влево
            if (CamPositionX > 0.01f)
            {
                CamPapa.transform.Translate(Vector3.left * CamTranslateSpeed * Time.deltaTime);
            }
        }

        //Проверка положения мыши в районе верхнего края экрана

        if (Input.mousePosition.y >= Screen.height - 2.3f)
        {
            CamPositionZ = CamPapa.transform.position.z;

            //Если "z" координаты CamPapa меньше длины игровой карты мы двигаем камеру вперёд

            if (CamPositionZ < CamMooveRangeZ)
            {
                CamPapa.transform.Translate(Vector3.forward * CamTranslateSpeed * Time.deltaTime);
            }
        }

        //Проверка положения мыши в районе нижнего края экрана

        if (Input.mousePosition.y <= 0.1f)
        {
            CamPositionZ = CamPapa.transform.position.z;

            //Если "z" координаты CamPapa дальше начальной координаты длины игровой карты мы двигаем камеру назад

            if (CamPositionZ > 0.01f)
            {
                CamPapa.transform.Translate(Vector3.back * CamTranslateSpeed * Time.deltaTime);
            }
        }
        //Отдаление и приближение колесом мыши

        if (Input.mouseScrollDelta.y > 0 && CamDegreeRemove < 10)
        {
            CamPapa.transform.position = new Vector3(CamPapa.transform.position.x, CamPapa.transform.position.y + CamRemoveStep, CamPapa.transform.position.z);
            CamPapa.transform.Translate(Vector3.back * CamRemoveStep);
            CamDegreeRemove = CamDegreeRemove + 1;
        }

        if (Input.mouseScrollDelta.y < 0 && CamDegreeRemove > 5)
        {
            CamPapa.transform.position = new Vector3(CamPapa.transform.position.x, CamPapa.transform.position.y - CamRemoveStep, CamPapa.transform.position.z);
            CamPapa.transform.Translate(Vector3.forward * CamRemoveStep);
            CamDegreeRemove = CamDegreeRemove - 1;
        }

        if (CamDegreeRemove > 10) CamDegreeRemove = 10;
        if (CamDegreeRemove < 5) CamDegreeRemove = 5;






    }
}
(Offline)
 
Ответить с цитированием
Эти 4 пользователя(ей) сказали Спасибо Crystal за это полезное сообщение:
ABTOMAT (19.02.2020), Arton (19.02.2020), Randomize (Вчера), St_AnGer (Вчера)
Старый 19.02.2020, 17:56   #35
ABTOMAT
Ференька
 
Аватар для ABTOMAT
 
Регистрация: 25.01.2007
Адрес: улица Пушкина дом Колотушкина
Сообщений: 10,609
Написано 5,364 полезных сообщений
(для 15,467 пользователей)
Ответ: I.D.S. MONSTERS

Всё робит, музыка играет.
Продолжай, прямо как в старые-добрые времена, когда на Булку выкладывали билды кто что делает (когда кто-то что-то делол).
__________________
Мои проекты:
Анальное Рабство
Зелёный Слоник
Дмитрий Маслов*
Различие**
Клюква**

* — в стадии разработки
** — в стадии проектирования
Для проектов в стадии проектирования приведены кодовые имена

(Offline)
 
Ответить с цитированием
Эти 2 пользователя(ей) сказали Спасибо ABTOMAT за это полезное сообщение:
Crystal (19.02.2020), mauNgerS (Вчера)
Старый 19.02.2020, 21:01   #36
Arton
Быдлокодер
 
Аватар для Arton
 
Регистрация: 05.07.2009
Адрес: Проспит
Сообщений: 4,749
Написано 2,138 полезных сообщений
(для 4,982 пользователей)
Ответ: I.D.S. MONSTERS

Работает, музыка играет.
Хочется что бы в будущем можно было кликнуть за границы карты и что бы персонаж пошёл в ту сторону до края карты.
Впрочем это может помешать, если случайным кликом потопаешь к врагу.

Можно как-то отключить у юнити запросы в интернет?
Каждый билд с кубиком стучится непонятно куда.
Наверное статистику с мира понитке собирают.

OBS почему-то долго начинает захват после запуска программы.


P. S. Хм-м... Возможно в будущем Булке понадобится возможность загружать видео вместо gif, или тег [video]. Впрочем тег и сейчас не помешает. Так, мысли в слух.
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Randomize (Вчера)
Старый 19.02.2020, 22:54   #37
Crystal
Терабайт исходников
 
Аватар для Crystal
 
Регистрация: 05.07.2007
Сообщений: 4,716
Написано 1,466 полезных сообщений
(для 4,792 пользователей)
Ответ: I.D.S. MONSTERS

Сообщение от Arton Посмотреть сообщение
Работает, музыка играет.
Хочется что бы в будущем можно было кликнуть за границы карты и что бы персонаж пошёл в ту сторону до края карты.
Впрочем это может помешать, если случайным кликом потопаешь к врагу.

Можно как-то отключить у юнити запросы в интернет?
Каждый билд с кубиком стучится непонятно куда.
Наверное статистику с мира понитке собирают.
Хз куда он там стучится, может из-за того, что билд со статусом девелопмент.
В окне компилятора во вкладках ничего про отправку чего-либо куда-либо.
Наверно фирма шпионит за тем, как халявщики юзают их софт (я на бесплатной версии).

Про кликание за предел карты - реализовать могу, смысла не вижу.
В управлении персонажем намеренно будет отсутствовать ПП
(хоть он уже и есть встроенный в Unity).
(Offline)
 
Ответить с цитированием
Старый Вчера, 11:11   #38
Randomize
[object Object]
 
Аватар для Randomize
 
Регистрация: 01.08.2008
Адрес: Планета Земля
Сообщений: 4,202
Написано 2,377 полезных сообщений
(для 6,582 пользователей)
Ответ: I.D.S. MONSTERS

Сообщение от Crystal Посмотреть сообщение
Хз куда он там стучится, может из-за того, что билд со статусом девелопмент.
Проверь включена ли аналитика:
https://docs.unity3d.com/Manual/Unit...ticsSetup.html

Кроме того дев билды тоже открывают порт, но только для обмена данными с отладчиком - не опасно.
__________________
Retry, Abort, Ignore? █
AMD Ryzen 7 3800X 4.3Ghz; 64Gb ram; Nvidia Geforce 1070Ti
AMD Ryzen 7 1700X x8 3.4Ghz; Radeon RX 570
AMD Athlon II x4 2.6Ghz; 8Gb ram; Nvidia Geforce GTX 750 Ti
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
ABTOMAT (Вчера)
Старый Сегодня, 02:32   #39
Crystal
Терабайт исходников
 
Аватар для Crystal
 
Регистрация: 05.07.2007
Сообщений: 4,716
Написано 1,466 полезных сообщений
(для 4,792 пользователей)
Ответ: I.D.S. MONSTERS

Третья билдуха: ТЫК

Теперь у меня полноценная RTS камера.
Умеет и бегать как ранее во все стороны, также отдаляться-приближаться,
но теперь она ещё умеет вращаться влево и вправо при зажатом
колесе мыши.

Я уже говорил, что при моей прошлой вполне удачной системе ориентирования
камеры в границах игровой карты невозможен её поворот,
так как вся ориентация слетает к херам.
Это была нормальная версия, но она подойдёт только для
игры, где камеру поворачивать не надо, а я решил,
что поворачивать будем!

То что вы сейчас видите, это уже пятая версия ориентации камеры.
Пришлось помучиться изобретая новые способы, и воюя
с одним внезапным багом юнити которого не должно быть,
но это баг самой логики в связке "transform.Translate" с "Time.deltaTime"
при движении по оси "Z". Грубо говоря, при одинаковом условии,
когда объекту запрещено двигаться по этим двум осям "X и Z",
по Z он всё-таки двигается на один такт "Time.deltaTime",
после чего условие начинает соблюдаться, однако этот баг
мою систему уничтожал просто, пришлось вместо двигания
камеры её телепортировать, и вот там уже не меняя условий
, ни строчки кода, всё с перемещением по Z отлично.

Можете сами баг проверить, заменив телепортацию камеры, на
её толкание в сторону.

Строку:

CamPapa.transform.position = new Vector3(SusaninVector.x, CamPapaCoordinate.y, SusaninVector.z);
Меняете её в блоке отвечающем за движение камеры вправо на:

CamPapa.transform.Translate(Vector3.right * CamTranslateSpeed * Time.deltaTime);
Двигаетесь во все стороны, всё норм, но это пока вы не повернёте
камеру на 90 градусов, и не поедете по Z оси, там то и сработает
баг где 1 раз не выполнится условие нахождения в площади уровня:

 if (SusaninPositionX > 0.01f && SusaninPositionX < CamMooveRangeX && SusaninPositionZ > 0.01f && SusaninPositionZ < CamMooveRangeZ)
Баг этот юнитишный из меня все нервы вытряс, хорошо что я додумался
заменить образно говоря толкание на телепортацию, и сразу с
осью Z проблема отпала.

Короче, как работает теперь вся логика движения камеры и его
ограничения площадью уровня?
Появился ещё один пивот "Susanin", он телепортируется под камеру,
далее двигается туда, куда мы хотели бы сместить камеру,
определяется находится ли сусанин в площади игрового уровня.
Если в площадь попал (она сейчас 20 на 20) то телепортируем
на его координаты камеру, если не попал, значит нехрен
туда камеру двигать, и мы ничего не делаем.
Работает под любым углом поворота камеры.

Код:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class CamController : MonoBehaviour
{

    public GameObject CamPapa; // Пивот к которому привязана камера
    public Camera Camera; //Камера конечно
    public int CamTranslateSpeed = 10; // Скорость движения камеры
    public float CamRemoveStep = 1.5f; // Шаг отдаления камеры
    public int CamDegreeRemove = 5; // Переменная со стартовым шагом, отсчёт идёт от 5 до 10, т.е. мы можем сделать максимум 5 шагов отдаляющих камеру, и после до 5 приближающих.
    public float CamMooveRangeX = 20f; // Область перемещения камеры по оси "x" соответствующая ширине игровой карты .
    public float CamMooveRangeZ = 20f; // Область перемещения камеры по оси "x" соответствующая длине игровой карты .
    public float CamPositionX; // Текущие координаты CamPapa по оси "x".
    public float CamPositionZ; // Текущие координаты CamPapa по оси "z".
    public Vector3 CamPapaCoordinate; //Резервная переменная для запроса вектора из трёх координат положения CamPapa.
    public GameObject Susanin; // Разведчик, бежит вперёд камеры, узнаёт можно ли туда камеру двигать.
    public float SusaninPositionX; // Текущие координаты Susanin по оси "x".
    public float SusaninPositionZ; // Текущие координаты Susanin по оси "z".
    public Vector3 SusaninVector; // x,y,z кординаты Susanin
    public float CamPapaXRotationSpeed = 10f;
    public float MouseXRotation;
    public int CamPapaXRotationDetector = 0;


    void Update()
    {

        CamPositionX = CamPapa.transform.position.x;
        CamPositionZ = CamPapa.transform.position.z;

        CamPapaCoordinate = CamPapa.transform.position;


        // Поворот камеры


        if (Input.GetMouseButton(2))
        {
            CamPapaXRotationDetector = 1;
            MouseXRotation = Input.GetAxis("Mouse X");
            CamPapa.transform.Rotate(0, Input.GetAxis("Mouse X") * CamPapaXRotationSpeed, 0);
            Susanin.transform.Rotate(0, Input.GetAxis("Mouse X") * CamPapaXRotationSpeed, 0);


        }

        else
        {

            CamPapaXRotationDetector = 0;

        }

        //-------------------------------------------------------------------------------------------------------------------



        if (CamPapaXRotationDetector == 0)
        {

            if (Input.mousePosition.x >= Screen.width - 5.3f)


            {
                CamPapaCoordinate = CamPapa.transform.position;

                Susanin.transform.position = new Vector3(CamPapaCoordinate.x, CamPapaCoordinate.y, CamPapaCoordinate.z);

                Susanin.transform.Translate(Vector3.right * CamTranslateSpeed * Time.deltaTime);

                SusaninPositionX = Susanin.transform.position.x;
                SusaninPositionZ = Susanin.transform.position.z;

                SusaninVector = Susanin.transform.position;

                if (SusaninPositionX > 0.01f && SusaninPositionX < CamMooveRangeX && SusaninPositionZ > 0.01f && SusaninPositionZ < CamMooveRangeZ)
                {

                    CamPapa.transform.position = new Vector3(SusaninVector.x, CamPapaCoordinate.y, SusaninVector.z);

                }

            }


            //-----------------------------------------------------------------------------------------------------------------------------------------


            if (Input.mousePosition.x <= 0.1f)

            {
                CamPapaCoordinate = CamPapa.transform.position;

                Susanin.transform.position = new Vector3(CamPapaCoordinate.x, CamPapaCoordinate.y, CamPapaCoordinate.z);


                Susanin.transform.Translate(Vector3.left * CamTranslateSpeed * Time.deltaTime);

                SusaninPositionX = Susanin.transform.position.x;
                SusaninPositionZ = Susanin.transform.position.z;

                SusaninVector = Susanin.transform.position;

                if (SusaninPositionX > 0.01f && SusaninPositionX < CamMooveRangeX && SusaninPositionZ > 0.01f && SusaninPositionZ < CamMooveRangeZ)
                {

                    CamPapa.transform.position = new Vector3(SusaninVector.x, CamPapaCoordinate.y, SusaninVector.z);

                }

            }


            //-----------------------------------------------------------------------------------------------------------------------------------------

            if (Input.mousePosition.y >= Screen.height - 2.3f)
            {

                CamPapaCoordinate = CamPapa.transform.position;

                Susanin.transform.position = new Vector3(CamPapaCoordinate.x, CamPapaCoordinate.y, CamPapaCoordinate.z);


                Susanin.transform.Translate(Vector3.forward * CamTranslateSpeed * Time.deltaTime);

                SusaninPositionX = Susanin.transform.position.x;
                SusaninPositionZ = Susanin.transform.position.z;

                SusaninVector = Susanin.transform.position;

                if (SusaninPositionX > 0.01f && SusaninPositionX < CamMooveRangeX && SusaninPositionZ > 0.01f && SusaninPositionZ < CamMooveRangeZ)
                {


                    CamPapa.transform.position = new Vector3(SusaninVector.x, CamPapaCoordinate.y, SusaninVector.z);

                }
            }

            //-----------------------------------------------------------------------------------------------------------------------------------------

            if (Input.mousePosition.y <= 0.1f)
            {
                CamPapaCoordinate = CamPapa.transform.position;
                Susanin.transform.position = new Vector3(CamPapaCoordinate.x, CamPapaCoordinate.y, CamPapaCoordinate.z);

                Susanin.transform.Translate(Vector3.back * CamTranslateSpeed * Time.deltaTime);


                SusaninPositionX = Susanin.transform.position.x;
                SusaninPositionZ = Susanin.transform.position.z;

                SusaninVector = Susanin.transform.position;

                if (SusaninPositionX > 0.01f && SusaninPositionX < CamMooveRangeX && SusaninPositionZ > 0.01f && SusaninPositionZ < CamMooveRangeZ)
                {


                    CamPapa.transform.position = new Vector3(SusaninVector.x, CamPapaCoordinate.y, SusaninVector.z);

                }
            }



            //-------------------------------------------------------------------------------------------------------------------

        }

        //-------------------------------------------------------------------------------------------------------------------
        //Отдаление и приближение колесом мыши

        if (Input.mouseScrollDelta.y > 0 && CamDegreeRemove < 10)
        {
            Camera.transform.position = new Vector3(Camera.transform.position.x, Camera.transform.position.y + CamRemoveStep, Camera.transform.position.z);
            Camera.transform.Translate(Vector3.back * CamRemoveStep);
            CamDegreeRemove = CamDegreeRemove + 1;
        }

        if (Input.mouseScrollDelta.y < 0 && CamDegreeRemove > 5)
        {
            Camera.transform.position = new Vector3(Camera.transform.position.x, Camera.transform.position.y - CamRemoveStep, Camera.transform.position.z);
            Camera.transform.Translate(Vector3.forward * CamRemoveStep);
            CamDegreeRemove = CamDegreeRemove - 1;
        }

        if (CamDegreeRemove > 10) CamDegreeRemove = 10;
        if (CamDegreeRemove < 5) CamDegreeRemove = 5;




    }


}
В коде могут присутствовать не мешающие мусорные элементы,
пол седьмого утра, мне спать пора, а не остатки прошлых
версий управления камерой подчищать )
(Offline)
 
Ответить с цитированием
Эти 2 пользователя(ей) сказали Спасибо Crystal за это полезное сообщение:
Arton (Сегодня), St_AnGer (Сегодня)
Старый Сегодня, 03:22   #40
Arton
Быдлокодер
 
Аватар для Arton
 
Регистрация: 05.07.2009
Адрес: Проспит
Сообщений: 4,749
Написано 2,138 полезных сообщений
(для 4,982 пользователей)
Ответ: I.D.S. MONSTERS

Ох, а можно правую кнопку мыши для вращения? Колёсико жёсткое у меня и глючит

Баг выход за границы:
Если во время движения кубика кликнуть за границу поля, кубик отправится туда и остановившись будет глючено крутится на месте.
При условие что куб не двигается, за границы его отправить нельзя.

Сообщение от Crystal Посмотреть сообщение
Появился ещё один пивот "Susanin", он телепортируется под камеру,
далее двигается туда, куда мы хотели бы сместить камеру,
определяется находится ли сусанин в площади игрового уровня.
Э-э, так я не понял камеру сейчас двигать можно или нельзя?
Мне тоже спать пора
Про проблемы с камерой честно говоря не понял...

Пожалуйста, скрой простыни кода под спойлер!
(Offline)
 
Ответить с цитированием
Старый Сегодня, 06:45   #41
Crystal
Терабайт исходников
 
Аватар для Crystal
 
Регистрация: 05.07.2007
Сообщений: 4,716
Написано 1,466 полезных сообщений
(для 4,792 пользователей)
Ответ: I.D.S. MONSTERS

Сообщение от Arton Посмотреть сообщение
Ох, а можно правую кнопку мыши для вращения? Колёсико жёсткое у меня и глючит

Баг выход за границы:
Если во время движения кубика кликнуть за границу поля, кубик отправится туда и остановившись будет глючено крутится на месте.
При условие что куб не двигается, за границы его отправить нельзя.


Э-э, так я не понял камеру сейчас двигать можно или нельзя?
Мне тоже спать пора
Про проблемы с камерой честно говоря не понял...

Пожалуйста, скрой простыни кода под спойлер!

Лол, у меня колесо тоже глючит, правую кнопку сделаю спешл фо ю
разово в четвёртом билде.

Баг подкрался от туда, откуда не ждали. Решил на скорую руку
красоту навести, и сделать космос для билда из плейна,
а переименовать его забыл. Собственно у нас сейчас два
плейна в билде, вот куб с ума и сходит, решается заменой
имени ) Он же по имени объекта в который луч попал событие
запускает, где в точку пика прыгает навигатор, а за ним
летит куб.

Камеру двигать можно, как в реал тайм стратегии, касаясь
ею краёв экрана, двигать можно в 8 направлениях.
Границы перемещения камеры выставлены размерами
игрового уровня, а игровой уровень это у нас бежевый
куб. У камеры есть невидимая нога, которая стоит впереди
неё, если она коснулась края игрового поля, то дальнейшее
движение (за его пределы) невозможно, специально
выставленное ограничение.

Проблем с камерой нет, есть проблемы с Unity, он вопреки
прописанной логики при особом обстоятельстве разово
выполняет действие, которое не должен выполнять вообще,
и баг этот я обошёл.

Тега спойлер на булке нет, в оффтоп пихать не хочу по тому, что не оффтоп.

В общем сейчас сделаю сборку под правую кнопку мыши
и без выхода кубика в космос.
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Часовой пояс GMT +1, время: 07:21.


vBulletin® Version 3.6.5.
Copyright ©2000 - 2020, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com