Пятница, 29 Марта 2024, 08:27

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

[ Новые сообщения · Игроделы · Правила · Поиск ]
Форум игроделов » Движки для разработки игр и сложные системы разработки » Unity » Вопрос-[ответ] по Unity (Задаём свои вопросы)
Вопрос-[ответ] по Unity
QWER56Дата: Понедельник, 09 Августа 2010, 10:58 | Сообщение # 1
старожил
Сейчас нет на сайте
Вопрос-[Ответ] по Unity3d

  • База скриптов Unity3d
  • Курс Уроков по Unity 3D от Alcatraz

    ConsMark - поисковик по интернет магазинам.

    Сообщение отредактировал QWER56 - Вторник, 26 Июля 2011, 20:54
  • DesertRRДата: Пятница, 31 Июля 2020, 11:14 | Сообщение # 8841
    был не раз
    Сейчас нет на сайте
    drcrack,

    Цитата drcrack ()
    YourScriptClassNameHere


    Тут как я понял, имя скрипта с переменной?

    Добавлено (31 Июля 2020, 11:16)
    --------------------------------------------

    Ошибка
    Код

    NullReferenceException: Object reference not set to an instance of an object
    PlayerScript.OnCollisionEnter2D (UnityEngine.Collision2D col) (at Assets/Scripts/PlayerScript.cs:13)


    Russain Morder Peon :q

    Сообщение отредактировал DesertRR - Пятница, 31 Июля 2020, 11:23
    drcrackДата: Пятница, 31 Июля 2020, 14:12 | Сообщение # 8842
    старожил
    Сейчас нет на сайте
    Скрипт нужно задать в инспекторе
    DesertRRДата: Пятница, 31 Июля 2020, 15:07 | Сообщение # 8843
    был не раз
    Сейчас нет на сайте
    drcrack, Спасибо, работает

    Russain Morder Peon :q
    LiraДата: Четверг, 13 Августа 2020, 11:59 | Сообщение # 8844
    почетный гость
    Сейчас нет на сайте
    только начинаю осваивать сишарп, подскажите.
    можно ли в Visual Studio (или другой программе) настроить, чтобы имена собственные переменных (названия, которые придумываем сами) выделялись отдельным цветом?
    чтобы не путаться в коде

    k0feДата: Четверг, 13 Августа 2020, 19:57 | Сообщение # 8845
    BRONX
    Сейчас нет на сайте
    Можно выделять цветом переменные с помощью https://github.com/hicknhack-software/semantic-colorizer

    Но конкретно свои - нельзя. Такого понятия в VS просто нет. Скорее всего, нет его и в других IDE.
    Можно, конечно, подключить поддержку системы контроля версий. Тогда IDE сможет показать автора метода/строк. Но это не то. Отделить переменные - нельзя.


    мой стрим, который я редко включаю, но зато на нём я делаю игры
    LiraДата: Пятница, 14 Августа 2020, 14:24 | Сообщение # 8846
    почетный гость
    Сейчас нет на сайте
    я наверно не правильно выразилась, пока плохо разбираюсь.
    но то, что мне нужно я нашла, перебрав в настройках все элементы. называется "Участники-пользователи - локальные", теперь созданные переменные не путаются с командами(или как правильно), и т.п...
    так как в уроках часто переменные и команды называются одинаковым словом.


    Сообщение отредактировал Lira - Пятница, 14 Августа 2020, 14:25
    QuvДата: Четверг, 20 Августа 2020, 11:41 | Сообщение # 8847
    уже был
    Сейчас нет на сайте
    Мобы не хотят двигаться по waypoints если указываешь поворот (Quaternion). Хочу замутить Tower Defence
    Например Анимация - бежит паук, от первого waypoint к следующему. Норм бежит, но сам бот двигается то боком, то задом...
    И как только я задаю Поворот Объекта, не важно куда, любой поворот, сразу начинаются глюки... боты бегут куда попало, в сторону, под текстуру, но только не по waypoints. Пока не укажешь поворот (Quaternion), все норм, боты бегут куда надо...

    Код
    using System.Collections;
    using System.Collections.Generic;
    using UnityEngine;

    public class Enemy4 : MonoBehaviour
    {

        public Transform waypoints;
        public float speed;
        private Transform waypoint;
        private int waypointIndex = -1;
        Rigidbody rb;

        void Start()
        {
            NextWaypoint();
        }
        void Awake()
        {
            rb = GetComponent<Rigidbody>();
        }

        void Update()
        {

            Vector3 dir = waypoint.transform.position - transform.position;
            dir.y = 0;

            float _speed = Time.deltaTime * speed;
            transform.Translate(dir.normalized * _speed);

            if (dir.magnitude <= _speed)
                NextWaypoint();

        }
        void NextWaypoint()
        {

            waypointIndex++;
            if (waypointIndex >= waypoints.childCount)
            {
                Destroy(gameObject);
                return;
            }
            waypoint = waypoints.GetChild(waypointIndex);

        }
    }


    Я в теме только пару месяцев, не отворачивайтесь сразу, подсобите хоть косвенным ответом, где рыть, где искать, куда копать =))))

    Короче например добавляю если поворот не важно, в этот скрипт или в отдельный например:

    Код
    void FixedUpdate()
        {
            Quaternion rotationY = Quaternion.AngleAxis(1, Vector3.up);
            transform.rotation *= rotationY;
        }


    Все Первый скрипт перестает Работать и начинается ХАОС, боты бегут куда попало.... Хотя пока поворот не добавишь, все четко, боты бегут по waypoints....
    Я вот думал уже может как то через ЦИКЛИ отдельно прописывать ходьбу до каждого waypoint с последующим поворотом на следующий waypoint...
    Просто бразы дайте Намек...
    geralexДата: Четверг, 20 Августа 2020, 13:30 | Сообщение # 8848
    участник
    Сейчас нет на сайте
    Приветствую. Реализацию игру пока с одиночным режимом в котором присутствует возможность стройки объектов в игровом мире, наступил момент реализации системы сохранения игры, подскажите, каким лучше методом реализовать сохранение построенных объектов на карте (объект - это готовый prefab), на карте игрок может разместить сотни объектов, эти объекты нужно сохранить и при загрузке уровня разместить на карте. Думал над формированием динамического массива, но не сильно ли это будет нагружать игру? Может есть что-то более оптимальное?
    Storm54Дата: Среда, 26 Августа 2020, 16:18 | Сообщение # 8849
    постоянный участник
    Сейчас нет на сайте
    Цитата geralex ()
    Может есть что-то более оптимальное?

    Просто сохраняй id (например, имя префаба) и положение в пространстве. Можно изобрести велосипед и сохранить в бинарном формате, можно в каком-нибудь json.
    Сотни объектов - это пустяк. На каждый объект у тебя уйдет, условно 20 байт на ID и 30 байт на положение в пространстве. Итого 50 байт. Миллион объектов - менее 50 МБ на диске, а тебе нужно всего несколько сотен объектов.
    yakov3590Дата: Четверг, 03 Сентября 2020, 21:11 | Сообщение # 8850
    уже был
    Сейчас нет на сайте
    Всем привет, кто может подсказать как запустить unity web на сервере nginx и как организовать взаимодействие движка Unity c 3D моделью?
    drcrackДата: Четверг, 03 Сентября 2020, 22:23 | Сообщение # 8851
    старожил
    Сейчас нет на сайте
    unity webgl запускается в браузере, а nginx это http сервер, твой вопрос не имеет смысла
    лучше обьясни что тебе нужно простым языком, без использования слов которые ты пока не понимаешь


    Сообщение отредактировал drcrack - Четверг, 03 Сентября 2020, 22:24
    yakov3590Дата: Четверг, 03 Сентября 2020, 22:34 | Сообщение # 8852
    уже был
    Сейчас нет на сайте
    drcrack, мне нужно было развернуть сервер nginx и запустить на нем движок Unity с простенькой 3d моделью.
    Буду очень рад любой подсказке
    Sanchez06Дата: Суббота, 26 Сентября 2020, 05:10 | Сообщение # 8853
    участник
    Сейчас нет на сайте
    Можно ли использовать купленные ассеты в коммерческих играх? Нужно ли как-то указывать в игре или в титрах, какие ассеты я использую?
    drcrackДата: Суббота, 26 Сентября 2020, 08:27 | Сообщение # 8854
    старожил
    Сейчас нет на сайте
    Можно, не нужно

    PS Кроме того, в лицензии (если речь об ассет сторе или подобных) нет такого определения как "коммерческая игра". Купленные ассеты можно использовать в любой игре, а ворованные нельзя использовать ни в какой, даже если она бесплатная.
    FlyOfFlyДата: Суббота, 10 Октября 2020, 23:45 | Сообщение # 8855
    заслуженный участник
    Сейчас нет на сайте
    Подключил Дуалшок к компу и Unity почему-то выдает на право стике x=-0.3584555 y = 0
    Когда я двигаю вперёд на левом стике
    Код

            leftSX = Gamepad.current.leftStick.x.ReadValue();
            leftSY = Gamepad.current.leftStick.y.ReadValue();
            rightSX = Gamepad.current.rightStick.x.ReadValue();
            rightSY = Gamepad.current.rightStick.y.ReadValue();
            print("First Axis x" + leftSX + "y:"+ leftSY);
            print("Two Axis x" + rightSX + "y:" + rightSY);

    Не могу понять это юнити тупит или кто . И главное как исправить
    geralexДата: Понедельник, 09 Ноября 2020, 18:49 | Сообщение # 8856
    участник
    Сейчас нет на сайте
    Приветствую, подскажите, может даже есть какие-то примерные видео-обзоры, интересует каким образом реализуется сохранение прогресса каждого из игроков например в кооперативной игре, то есть есть хостер, создаёт лобби (например, старый unet) на 4 игрока, каким образом создаётся сохранение прогресса каждого из участников, чтобы после выхода хостера и создания той же лобби все игроки продолжили на том на чём был совершен выход?
    Стандартный принцип PlayerPref с какой-то связью по комнате или что-то из сложных схем применяется?
    Sanchez06Дата: Вторник, 10 Ноября 2020, 06:39 | Сообщение # 8857
    участник
    Сейчас нет на сайте
    Цитата FlyOfFly ()
    x=-0.3584555

    Попробуй в JoyTester посмотреть оси, это давняя проблема дуалшоков, когда аналоги выдают отклонение. Есть игры, в которых это незаметно, где не такое чувствительное управление.
    Цитата geralex ()
    Стандартный принцип PlayerPref с какой-то связью по комнате или что-то из сложных схем применяется?

    Думаю, проще и гибче сделать сериализацию
    geralexДата: Среда, 11 Ноября 2020, 23:58 | Сообщение # 8858
    участник
    Сейчас нет на сайте
    Хм, в чем заключается ошибка? Вызывается метод спавна объекта по фиксированным координатам, но фактически в мире координаты отличаются:

    Код
    var _b = GameObject.Instantiate(_build, new Vector3(171.50f,3.76f,38.08f), new Quaternion(0,0,0,1));


    drcrackДата: Четверг, 12 Ноября 2020, 00:01 | Сообщение # 8859
    старожил
    Сейчас нет на сайте
    Какие скрипты есть на обьекте?
    geralexДата: Четверг, 12 Ноября 2020, 12:36 | Сообщение # 8860
    участник
    Сейчас нет на сайте
    Цитата drcrack ()
    Какие скрипты есть на обьекте?


    Rigidbody,BoxCollider, NetworkIdentity (UNet), один скрипт + часть скриптов, которые не вносят изменения в расположение объекта

    Код

       void Start () {
            
            if (isServer)
                direction = transform.rotation;
            else
                transform.rotation = direction;

            Rigidbody body = GetComponent<Rigidbody>();
            body.constraints = RigidbodyConstraints.FreezeAll;
            body.useGravity = false;

            if (!active)
            {
                if (GetComponent<MeshCollider>() != null)
                    GetComponent<MeshCollider>().convex = true;
                GetComponent<Collider>().isTrigger = true;
            }
            else
            {
                body.isKinematic = true;
                foreach (Transform child in transform)
                {
                    child.gameObject.SetActive(true);
                }
            }       
        }

        void OnTriggerEnter(Collider other)
        {
      if(!active)
      if(other.tag != "Terrain")
      {
       collide ++;
      }
        }
       
        void OnTriggerExit(Collider other)
        {
      if(!active)
      if(other.tag != "Terrain")
      {
       collide --;
      }
        }
    Форум игроделов » Движки для разработки игр и сложные системы разработки » Unity » Вопрос-[ответ] по Unity (Задаём свои вопросы)
    Поиск:

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