Вопрос-[ответ] по 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 --; } }
|
|
| |