Пятница, 19 Апреля 2024, 12:14

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

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 7
  • 1
  • 2
  • 3
  • 6
  • 7
  • »
Форум игроделов » Записи участника » IlyaKos [140]
Результаты поиска
IlyaKosДата: Суббота, 21 Мая 2022, 08:06 | Сообщение # 1 | Тема: Ограничение вращения двухмерного объекта (решено)
участник
Сейчас нет на сайте
Приводи к локальному ротейшну.
IlyaKosДата: Воскресенье, 22 Августа 2021, 03:45 | Сообщение # 2 | Тема: Лучшие рок песни с 2001 по 2005 год, от Rus|Verm
участник
Сейчас нет на сайте
А как же Static-X - The Only (2003)
и Drawning Pool - Bodies (2001)?
IlyaKosДата: Воскресенье, 28 Февраля 2021, 03:06 | Сообщение # 3 | Тема: Некорректное срабатывание
участник
Сейчас нет на сайте
Попробуй вынести условия в апдейт, и обновляй, когда находишься в триггере.

Код
void Update ()
{
UpdateHandUp ();
}

void UpdateHandUp ()
{
if (!inTrigger) return;

*код*

}

void OnTriggerStay
}
if (tag == "hand") inTrigger = true;
}

void OnTriggerExit ()
{
if (tag == "hand") inTrigger = false;
}
IlyaKosДата: Суббота, 27 Февраля 2021, 14:42 | Сообщение # 4 | Тема: Некорректное срабатывание
участник
Сейчас нет на сайте
Так, пока ты в триггере, у тебя переменная постоянно моргает с тру на фолс туда-сюда, поэтому такой результат.
IlyaKosДата: Воскресенье, 21 Февраля 2021, 17:35 | Сообщение # 5 | Тема: Вот мой проект игры в стиле Horror RPG
участник
Сейчас нет на сайте
Street Workout, найс.)
IlyaKosДата: Воскресенье, 21 Февраля 2021, 13:43 | Сообщение # 6 | Тема: [РЕШЕНО] Назначение в переменную определенного объекта
участник
Сейчас нет на сайте
Можешь повесить какой-нибудь скрипт на дочерний объект и искать его внутри игрока:

переменная = игрок.GetComponentInChildren<Скрипт>()
IlyaKosДата: Воскресенье, 10 Января 2021, 14:23 | Сообщение # 7 | Тема: Про циклы
участник
Сейчас нет на сайте
1. Лучше вместо массива использовать динамический список List<GameObject>. При удалении объекта необходимо будет убирать их из списка через list.Remove (obj). Потом можно перезапустить сцену: if (list.Count == 0) LoadScene.
2. Если все-таки используешь массив, то после удаления объектов останутся нулы. Значит можно использовать System.Linq и проверить количество: int count = mFind.Count (x => x != null).
IlyaKosДата: Пятница, 27 Ноября 2020, 17:27 | Сообщение # 8 | Тема: RigidBody.enabled
участник
Сейчас нет на сайте
Не уверен, но вроде можно включать/выключать через rigidbody.detectCollisions = true/false

Сообщение отредактировал IlyaKos - Пятница, 27 Ноября 2020, 17:27
IlyaKosДата: Суббота, 21 Ноября 2020, 05:36 | Сообщение # 9 | Тема: RigidBody
участник
Сейчас нет на сайте
rocket.velocity = (target.position - spawn.position).normalized * rocketSpeed
IlyaKosДата: Пятница, 04 Сентября 2020, 06:45 | Сообщение # 10 | Тема: Удаление объекта из массива
участник
Сейчас нет на сайте
Лучше подключи System.Linq, и используй динамические листы List<T> вместо массивов.
Как я понял, у тебя элементы массива, объекты, удаляются, и ты получаешь нулевую ссылку.
Почистить нулы можно так:
- если продолжишь использовать массив: mChased = mChased.ToList ().FindAll (x => x != null).ToArray ();
- если будешь использовать List: mChased.RemoveAll (x => x == null);
IlyaKosДата: Среда, 02 Сентября 2020, 02:05 | Сообщение # 11 | Тема: Реализация зажатия кнопки
участник
Сейчас нет на сайте
Можно в момент нажатия присваивать например isPressed = true, и обновлять, пока тру, а при отжатии isPressed сбрасывать.
IlyaKosДата: Вторник, 25 Августа 2020, 06:39 | Сообщение # 12 | Тема: Работа OnPointerClick [решено]
участник
Сейчас нет на сайте
1) Можешь например ввести булевую переменную, типа
bool pickUpAfterMoving;
и
if (distNow >= 3)
{
mover.StartMoveAction(this.transform.position, 10f);
pickUpAfterMoving = true;
}

И как-нибудь запоминать предмет и в апдейте проверить дистанцию, и, в случае pickUpAfterMoving = true вызвать PickUp.
Либо как-то еще запоминать очередность действий.

2) Можно с поворотами подрючиться.
А еще может быть возможно рендерить этот канвас другой камерой вышестоящим слоем, чтобы переграждал геометрию.
IlyaKosДата: Воскресенье, 05 Июля 2020, 16:43 | Сообщение # 13 | Тема: Есть ли способ сократить эти строки кода
участник
Сейчас нет на сайте
Цитата alexsilent ()
Придётся писать 4 новых функции, чтобы работать с отдельными осями:
Код
SetX(transform, 1);
SetY(transform, 1);
SetZ(transform, 1);
TurnZ(transform, 1); // для поворота по оси Z


Можешь вот так)

Код

void Set (x, y, z, bool setX, bool setY, bool setZ)
{
if (!setX && !setY && !setZ) return;

Vector3 position = transform.position;

if (setX) position.x = x;
if (setY) position.y = y;
if (setZ) position.z = z;

transform.position = position;
}

и Set (1, 1, 1, true, true, false)


Мне кажется, это будет шустрее, нежели ты будешь 3 метода вызывать.
:)


Сообщение отредактировал IlyaKos - Воскресенье, 05 Июля 2020, 16:50
IlyaKosДата: Четверг, 25 Июня 2020, 12:30 | Сообщение # 14 | Тема: Коллайдеры
участник
Сейчас нет на сайте
Попробуй уменьшить Time -> Fixed TimeStep, поставить например 0.01 (дефолт 0.02).
Это должно помочь, но из-за того, что физика будет обновляться в 2 раза чаще, возможна потеря фпс.

А на объекте, который двигается и сталкивается, в настройках РБ установи Interpolate и Continuous Dynamic.

И такой вопрос, как крутится объект, физикой?


Сообщение отредактировал IlyaKos - Четверг, 25 Июня 2020, 12:34
IlyaKosДата: Вторник, 23 Июня 2020, 07:32 | Сообщение # 15 | Тема: Движение сферы плеером
участник
Сейчас нет на сайте
Цитата SiomonL ()
Ну можно например так:

Гоню я,
здесь чтобы ось вращения получить, нужно векторное произведение взять такое
Vector3 axis = Vector3.Cross (playerVector, NORMAL), где normal - нормаль к поверхности (можно получить например лучом от игрока)

и

сфера.RotateAround (сфера.position, axis.normalized, * Time.deltaTime * speed)


Сообщение отредактировал IlyaKos - Вторник, 23 Июня 2020, 07:33
IlyaKosДата: Понедельник, 22 Июня 2020, 16:10 | Сообщение # 16 | Тема: Движение сферы плеером
участник
Сейчас нет на сайте
Ну можно например так:

Знаем вектор движения плеера - vector
Получаем ось вращения: axis = Vector3.Cross (vector, Vector3.up)

сфера.Rotate (axis.normalized * speed)


Сообщение отредактировал IlyaKos - Понедельник, 22 Июня 2020, 16:11
IlyaKosДата: Воскресенье, 07 Июня 2020, 10:55 | Сообщение # 17 | Тема: Unity, как динамично считать заполненность объекта(бутылки)?
участник
Сейчас нет на сайте
Первое, что пришло в голову, создать две точки - "дно" и "горлышко".

максимальная высота = (горлышко - дно).у

Затем перебрать в цикле детали и их коллайдеры (или рендереры), чтобы получить наивысшую точку к горлышку через
коллайдер (или рендерер).ClosestPoint (горлышко).

Когда получили, сравнить позиции У "дна" и найденной точки:
высота = (точка - дно).y

тогда наполненность можно считать равной:

наполненность (%) = высота/ максимальная высота

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


Сообщение отредактировал IlyaKos - Воскресенье, 07 Июня 2020, 11:00
IlyaKosДата: Вторник, 02 Июня 2020, 06:40 | Сообщение # 18 | Тема: Antichrist [3D, FPS, Old-School, Poland shooter]
участник
Сейчас нет на сайте
Судя по частоте апдейтов, всё вышепоказанное было сделано ещё до начала конкурса, учитывая, что у автора и профиль в вк с именем Демон.
Удачи.
IlyaKosДата: Воскресенье, 24 Мая 2020, 17:06 | Сообщение # 19 | Тема: Голосование за тему для конкурса №14 от GcUp
участник
Сейчас нет на сайте
Не думаю, что хорошая идея - привязывать тему конкурса к одному конкретному жанру (шутер), по причинам малого разнообразия проектов и присутствия уже рабочих проектов у некоторых, которые подгонят их под тему.
IlyaKosДата: Четверг, 21 Мая 2020, 06:08 | Сообщение # 20 | Тема: Голосование за тему для конкурса №14 от GcUp
участник
Сейчас нет на сайте
Голос за: "Камерная игра в одной небольшой локации".
Форум игроделов » Записи участника » IlyaKos [140]
  • Страница 1 из 7
  • 1
  • 2
  • 3
  • 6
  • 7
  • »
Поиск:

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