|
Общие вопросы вопросы не попадающие ни в один из доступных разделов |
09.01.2013, 23:18
|
#961
|
Знающий
Регистрация: 08.01.2013
Адрес: Самара
Сообщений: 284
Написано 104 полезных сообщений (для 180 пользователей)
|
Ответ: Вопросы от новичка
Texture2D hmap = (Texture2D)Resources.Load("Media\levelrts11");
Color[] heights = hmap.GetPixels();
heights - массив цветов. упорядочен слева - направо, снизу - вверх. Далее можно исползовать heights[i].r - красный канал
Terrain active = Terrain.activeTerrain; //Получаем активный террайн
TerrainData data = active.terrainData; // Получаем все данные террайна
float height = data.GetInterpolatedHeight(x, y); //Получаем высоту в нужной точке
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
10.01.2013, 00:12
|
#962
|
Unity/C# кодер
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений (для 5,323 пользователей)
|
Ответ: Вопросы от новичка
На сколько я помню - пик это каст, так что вот пример:
using UnityEngine; using System.Collections;
public class example : MonoBehaviour { public float distanceToGround; public Vector3 groundPoint; void Update() { RaycastHit hit; // стрельба идет из позиции текущего объекта вниз if (Physics.Raycast(transform.position, Vector3.down, out hit)) { // попали distanceToGround = hit.distance; groundPoint = hit.point; } else { // не попали } } }
подробнее тут: http://docs.unity3d.com/Documentatio...s.Raycast.html
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
10.01.2013, 04:02
|
#963
|
Бывалый
Регистрация: 21.12.2008
Адрес: UA
Сообщений: 878
Написано 105 полезных сообщений (для 357 пользователей)
|
Ответ: Вопросы от новичка
Почему коллайдеры немного проваливаются друг в друга?
RigidBody имеет только капсула.
|
(Offline)
|
|
10.01.2013, 07:15
|
#964
|
Unity/C# кодер
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений (для 5,323 пользователей)
|
Ответ: Вопросы от новичка
Сообщение от WISHMASTER35
Почему коллайдеры немного проваливаются друг в друга?
RigidBody имеет только капсула.
|
Min Penetration For Penalty How deep in meters are two objects allowed to penetrate before the collision solver pushes them apart. A higher value will make objects penetrate more but reduces jitter.
|
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
10.01.2013, 15:29
|
#965
|
Бывалый
Регистрация: 03.12.2008
Адрес: наша раша
Сообщений: 762
Написано 129 полезных сообщений (для 245 пользователей)
|
Ответ: Вопросы от новичка
Интересно, ребята из Юнити сами писали компиляторы для C# на все платформы? Или как там все происходит?
__________________
Reality Simulation Games
Core 2 Duo 2,8GHz, RAM 1Gb, ATI R5670 1Gb. WinXP 32
|
(Offline)
|
|
10.01.2013, 15:34
|
#966
|
Unity/C# кодер
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений (для 5,323 пользователей)
|
Ответ: Вопросы от новичка
Моно кросплатформенный, за исключением флеша. На флеш они написали транслятор в AS.
|
(Offline)
|
|
10.01.2013, 16:05
|
#967
|
Элита
Регистрация: 16.01.2010
Адрес: Новосибирск
Сообщений: 2,158
Написано 502 полезных сообщений (для 1,012 пользователей)
|
Ответ: Вопросы от новичка
Сообщение от pax
На сколько я помню - пик это каст, так что вот пример:
using UnityEngine; using System.Collections;
public class example : MonoBehaviour { public float distanceToGround; public Vector3 groundPoint; void Update() { RaycastHit hit; // стрельба идет из позиции текущего объекта вниз if (Physics.Raycast(transform.position, Vector3.down, out hit)) { // попали distanceToGround = hit.distance; groundPoint = hit.point; } else { // не попали } } }
подробнее тут: http://docs.unity3d.com/Documentatio...s.Raycast.html
|
Я бы использовал Linecast, так как более удобен с ограниченными отрезками (зачем например нам что-то кастить, если событие только вблизи проходит, пусть raycast быстрее)
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
10.01.2013, 16:16
|
#968
|
Знающий
Регистрация: 08.01.2013
Адрес: Самара
Сообщений: 284
Написано 104 полезных сообщений (для 180 пользователей)
|
Ответ: Вопросы от новичка
Я так считал, что они эквивалентны:
Linecast(start, end) == Raycast(start, (end-start), (end-start).magnitude)
Raycast(start, dir, length) == Linecast(start, (start+dir*length))
В разных случаях удобнее разные методы.
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
10.01.2013, 17:51
|
#969
|
Разработчик
Регистрация: 10.10.2008
Сообщений: 501
Написано 258 полезных сообщений (для 670 пользователей)
|
Ответ: Вопросы от новичка
Всем спасибо за ответы.
Вновь вопрос: можно ли использовать текстуру не кратную степени двойки, если да то как? (та текстура с которой снимаются данные о высоте уровня)
Загружаю к примеру 39х39 а она сжимается до 32х32.
__________________
|
(Offline)
|
|
10.01.2013, 18:10
|
#970
|
Unity/C# кодер
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений (для 5,323 пользователей)
|
Ответ: Вопросы от новичка
Выбирай Advanced для импорта и выбери None в пункте Non Power Of 2
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
10.01.2013, 20:58
|
#971
|
Знающий
Регистрация: 08.01.2013
Адрес: Самара
Сообщений: 284
Написано 104 полезных сообщений (для 180 пользователей)
|
Ответ: Вопросы от новичка
Будьте осторожны с NPOT текстурами на мобилах. Во первых они дольше грузятся, во вторых отнимают больше памяти.
По второму вот - ссылка профит
ТУТ (- это сссылка!) вообще написано, что NPOT текстуры не могут быть кмпрессированы на iOs.
На самом деле не вижу никакого смысла использовать такие текстуры. Хоть их Юнити и поддерживает, но имхо лучше самому поставить ограничение, чем потом разбираться с проблемами.
ЗЫ: Что-то тут ссылки плохо выделяются
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
10.01.2013, 23:04
|
#972
|
Unity/C# кодер
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений (для 5,323 пользователей)
|
Ответ: Вопросы от новичка
Не всегда нужны текстуры размера двойки. Например для GUI. Но многие 2d фреймворки умеют собирать их в атласы (которые уже будут степени двойки), так что не вижу ничего плохого в загрузке в проект таких текстур.
|
(Offline)
|
|
Эти 2 пользователя(ей) сказали Спасибо pax за это полезное сообщение:
|
|
11.01.2013, 02:19
|
#973
|
Бывалый
Регистрация: 21.12.2008
Адрес: UA
Сообщений: 878
Написано 105 полезных сообщений (для 357 пользователей)
|
Ответ: Вопросы от новичка
rigidbody.MovePosition изменяет позицию только в FixedUpdate, даже если вызван был из Update? А то объект двигается дергаясь.
Вообще можно как-то насильно провести тест коллизии в Update?
Уже долго безуспешно пытаюсь сделать возможность брать предметы как в Пенумбре и Амнезии.
Тут написано, что в амнезии используется Newton Game Dynamics. Я уже подумываю, что в PhysX так не сделать.
Как не пробовал либо проблемы с коллизией предмета, либо с его движением за курсором.
Движется за курсором нормально только если в Update просто изменять позицию предмета, но о коллизии тогда речи нету.
Если двигать методом AddForce, то будет либо отставать за курсором, либо по инерции летать вокруг курсора.
|
(Offline)
|
|
11.01.2013, 07:30
|
#974
|
Unity/C# кодер
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений (для 5,323 пользователей)
|
Ответ: Вопросы от новичка
Я бы попробовал использовать джоинты для этой задачи. Fixed Joint вероятно не подойдет, значит вероятнее всего использовать Configurable Joint.
|
(Offline)
|
|
11.01.2013, 17:03
|
#975
|
Бывалый
Регистрация: 21.12.2008
Адрес: UA
Сообщений: 878
Написано 105 полезных сообщений (для 357 пользователей)
|
Ответ: Вопросы от новичка
pax, да я перепробовал все джоинты. Может не так настраивал их.
Еще проблема в том, что камера вращается в Update, а физикой двигать можно только в FixedUpdate. Это вызывает сильное дрожание.
Последний раз редактировалось WISHMASTER35, 11.01.2013 в 18:06.
|
(Offline)
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 21:16.
|