О взаимодействии снаряда с поверхностью - Форум Игроделов
Пн, 20 Май 2024, 01:45 
 
Приветствую Вас Гость Главная | Регистрация | Вход
Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Форум Игроделов » UNITY3D » HELP & FAQ » О взаимодействии снаряда с поверхностью
О взаимодействии снаряда с поверхностью
AltorevilДата: Вс, 19 Янв 2014, 01:01 | Сообщение # 1
Нет аватара
 
Сообщений: 2
Награды: 0
Репутация: 0
Статус: Offline
Здравствуйте. Возможно для опытных игроделов мой вопрос будет выглядеть примитивно, но я, признаться, даже не знаю, как сформулировать запрос в Гугле, чтобы найти на него ответ. Собственно один из таких запросов и привел меня сюда.
Разработкой проэкта начал заниматься в прошлом семестре, с началом Военной кафедры. Как студента-программиста, вместо пар отправили на сие поприще. Сбросили незнакомую среду разработки и сказали изучать не более знакомый С#. До этого момента в коде моих предшественников разбирался, довольно-таки, успешно, и вводил небольшие коррективы, направленные на исправление неточностей расчетов, иногда добавлял что-то новое.

СУТЬ ПРОБЛЕМЫ
На данный момент товарищ полковник изложил такую проблему: разрыв происходит в координатах, не реагируя при этом на поверхность (земля, травка там...). Тоесть если по введенным данным расчет указал на точку, которая находится ниже поверхности, то мы этот разрыв даже не увидим. Подскажите пожалуйста,как заставить программу учитывать поверхность при расчете точки разрыва и выводе оного.


Сообщение отредактировал Altorevil - Вс, 19 Янв 2014, 01:02
 
СообщениеЗдравствуйте. Возможно для опытных игроделов мой вопрос будет выглядеть примитивно, но я, признаться, даже не знаю, как сформулировать запрос в Гугле, чтобы найти на него ответ. Собственно один из таких запросов и привел меня сюда.
Разработкой проэкта начал заниматься в прошлом семестре, с началом Военной кафедры. Как студента-программиста, вместо пар отправили на сие поприще. Сбросили незнакомую среду разработки и сказали изучать не более знакомый С#. До этого момента в коде моих предшественников разбирался, довольно-таки, успешно, и вводил небольшие коррективы, направленные на исправление неточностей расчетов, иногда добавлял что-то новое.

СУТЬ ПРОБЛЕМЫ
На данный момент товарищ полковник изложил такую проблему: разрыв происходит в координатах, не реагируя при этом на поверхность (земля, травка там...). Тоесть если по введенным данным расчет указал на точку, которая находится ниже поверхности, то мы этот разрыв даже не увидим. Подскажите пожалуйста,как заставить программу учитывать поверхность при расчете точки разрыва и выводе оного.

Автор - Altorevil
Дата добавления - 19 Янв 2014 в 01:01
ЛевшаДата: Вс, 19 Янв 2014, 01:15 | Сообщение # 2
Черный Волк
 
Сообщений: 7257
Награды: 30
Репутация: 3313
Статус: Offline
Я мало что понял... давайте еще раз и внятнее.

X.cor.R (Prologue)
 
СообщениеЯ мало что понял... давайте еще раз и внятнее.

Автор - Левша
Дата добавления - 19 Янв 2014 в 01:15
seamanДата: Вс, 19 Янв 2014, 02:14 | Сообщение # 3
Гуру
 
Сообщений: 1748
Награды: 10
Репутация: 660
Статус: Offline
Что такое "разрыв"? Может быть "взрыв", "подрыв"?...
Если Вы используете родной terrain, а не меши для поверхности земли, то берем TerrainData.GetHeight и сравниваем с координатой y взрыва.
 
СообщениеЧто такое "разрыв"? Может быть "взрыв", "подрыв"?...
Если Вы используете родной terrain, а не меши для поверхности земли, то берем TerrainData.GetHeight и сравниваем с координатой y взрыва.

Автор - seaman
Дата добавления - 19 Янв 2014 в 02:14
AltorevilДата: Вс, 19 Янв 2014, 23:37 | Сообщение # 4
Нет аватара
 
Сообщений: 2
Награды: 0
Репутация: 0
Статус: Offline
Цитата seaman ()
Что такое "разрыв"? Может быть "взрыв", "подрыв"?...

Ну пускай будет взрыв, если так понятней)
Обязательно попробую, поскольку используется действительно terrain.

Цитата Левша ()
Я мало что понял... давайте еще раз и внятнее.

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

Добавлено (19 Янв 2014, 23:37)
---------------------------------------------
Прошу прощения, все мои попытки упираются в невозможность какого-либо преобразования из типа Vector3.UnityEngine. С чем мне стоит сравнить TerrainData.GetHeight?

Код
...
[HideInInspector]
public Vector3 startLocalPosition = Vector3.zero;
public Vector3 localPosition = Vector3.zero;
...
public void SetStartValues()
{
startSize = size;
startForce = force;
startVelocity = velocity;
startDuration = duration;
startDetail = detail;
startColor = color;
startLocalPosition = localPosition;
}
...


Я также не уверен на все 100%, что это именно тот кусок кода. Как уже сообщалось ранее: код не мой, и пытаюсь в нем разобраться. Но логически предполагаю, что переменная, которая называется localPosition - это как раз то, что меня интересует. Встречается она только четыре раза, если верить функции поиска, и все четыре я привел в коде.


Код в тег "code" (Игнат)
 
Сообщение
Цитата seaman ()
Что такое "разрыв"? Может быть "взрыв", "подрыв"?...

Ну пускай будет взрыв, если так понятней)
Обязательно попробую, поскольку используется действительно terrain.

Цитата Левша ()
Я мало что понял... давайте еще раз и внятнее.

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

Добавлено (19 Янв 2014, 23:37)
---------------------------------------------
Прошу прощения, все мои попытки упираются в невозможность какого-либо преобразования из типа Vector3.UnityEngine. С чем мне стоит сравнить TerrainData.GetHeight?

Код
...
[HideInInspector]
public Vector3 startLocalPosition = Vector3.zero;
public Vector3 localPosition = Vector3.zero;
...
public void SetStartValues()
{
startSize = size;
startForce = force;
startVelocity = velocity;
startDuration = duration;
startDetail = detail;
startColor = color;
startLocalPosition = localPosition;
}
...


Я также не уверен на все 100%, что это именно тот кусок кода. Как уже сообщалось ранее: код не мой, и пытаюсь в нем разобраться. Но логически предполагаю, что переменная, которая называется localPosition - это как раз то, что меня интересует. Встречается она только четыре раза, если верить функции поиска, и все четыре я привел в коде.


Код в тег "code" (Игнат)

Автор - Altorevil
Дата добавления - 19 Янв 2014 в 23:37
HunjethДата: Сб, 22 Фев 2014, 00:00 | Сообщение # 5
 
Сообщений: 354
Награды: 1
Репутация: 112
Статус: Offline
Цитата
как заставить программу учитывать поверхность при расчете точки разрыва и выводе оного.

используй Physics.Raycast, Physics.SphereCast, Physics.CapsuleCast

справка
Код
http://docs.unity3d.com/Documentation/ScriptReference/Physics.Raycast.html


Сообщение отредактировал Hunjeth - Сб, 22 Фев 2014, 00:01
 
Сообщение
Цитата
как заставить программу учитывать поверхность при расчете точки разрыва и выводе оного.

используй Physics.Raycast, Physics.SphereCast, Physics.CapsuleCast

справка
Код
http://docs.unity3d.com/Documentation/ScriptReference/Physics.Raycast.html

Автор - Hunjeth
Дата добавления - 22 Фев 2014 в 00:00
Форум Игроделов » UNITY3D » HELP & FAQ » О взаимодействии снаряда с поверхностью
  • Страница 1 из 1
  • 1
Поиск:
Загрузка...

Game Creating CommUnity © 2009 - 2024