Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Программирование игр для компьютеров > Unity

Unity Мультиплатформенный инструмент для разработки игр

Ответ
 
Опции темы
Старый 13.03.2013, 16:18   #961
pax
Unity/C# кодер
 
Аватар для pax
 
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений
(для 5,323 пользователей)
Ответ: Фак по Юнити.

Надо передавать не слой, а маску
lay << (int)LayerMask.NameToLayer("JustRayCast"); 
__________________
Blitz3d to Unity Wiki
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
burovalex (13.03.2013)
Старый 13.03.2013, 17:24   #962
burovalex
Разработчик
 
Аватар для burovalex
 
Регистрация: 04.04.2012
Сообщений: 468
Написано 37 полезных сообщений
(для 60 пользователей)
Ответ: Фак по Юнити.

Интересно, тыркался пыркался, еле допёр что это делает ))

Получается LayerMask.NameToLayer("") возвращает нам номер слоя (8-й), а надо использовать получается Бит из возможных 32-х.

Т.е. если надо использовать для рейкаста 3,5,6 слоя то надо отправить int:
в десятичной = 2^3 + 2^5 + 2^6 = 104 (галки это степени)
либо бинарной = ...0000000110100 = 104

т.е.
lay = 1 << (int)LayerMask.NameToLayer("JustRayCast");
lay += 1 << (int)LayerMask.NameToLayer("Default");

равносильно
lay = Mathf.Pow(2,LayerMask.NameToLayer("JustRayCast")) + Mathf.Pow(2,LayerMask.NameToLayer("Default"))

Прям теорема получилась
Правда запись не упростилась ))
Ну так, для общего развития пойдёт!
__________________
(Offline)
 
Ответить с цитированием
Старый 13.03.2013, 19:07   #963
EvilOkta
Знающий
 
Аватар для EvilOkta
 
Регистрация: 31.07.2008
Сообщений: 321
Написано 108 полезных сообщений
(для 229 пользователей)
Ответ: Фак по Юнити.

Сообщение от Andvrok Посмотреть сообщение
Можно ли проверить, есть ли какой-либо геймобжект в определенной точке пространства? Если да, то пните меня в нужном направлении, пожалуйста.
еще как вариант установить в эту точку пространства триггер и проверять его пересечение с объектом
__________________
Области Хаоса - мой новый Youtube проект
(Offline)
 
Ответить с цитированием
Старый 13.03.2013, 22:03   #964
burovalex
Разработчик
 
Аватар для burovalex
 
Регистрация: 04.04.2012
Сообщений: 468
Написано 37 полезных сообщений
(для 60 пользователей)
Ответ: Фак по Юнити.

Появилось парочка вопросов, подскажите плиз.

Начал искать как на русском текст выводить, нашел чтото, получилось. Перекодировал из notepad++ в UTF-8, хотя говорят что лучше кодировать в UTF-16, но такового не нашлось..
После перекодировки русский появляется только при написании в Notepad++ и в MonoDevelop русский стал закорючками.

Можно както кодировку в самом MonoDevelop'е поменять?
Или какоё-нибудь другой хороший вариант.

И еще, хотел при коллайднутом объекте выводить текст относительно его позиции. Сделал так
Vector3 v3 Camera.main.WorldToScreenPoint(playerHit.transform.position);
        
GUI.TextField(new Rect(v3.xv3.y15050), label); 
Но относительно экрана по Х определяет правильно а по У наоборот как будто. Т.е. когда держишься по центру относительно У - текст в центре, а когда передвигаешь объект относительно У вверх - текст уходит вниз..
__________________
(Offline)
 
Ответить с цитированием
Старый 14.03.2013, 07:17   #965
pax
Unity/C# кодер
 
Аватар для pax
 
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений
(для 5,323 пользователей)
Ответ: Фак по Юнити.

1. Я не использую монодевелоп (пишу в Visual Studio), но в нем можно сохранить с кодировкой, просто нажми файл->сохранить как...
2. v3.y = Screen.height - v3.y;
__________________
Blitz3d to Unity Wiki
(Offline)
 
Ответить с цитированием
Старый 14.03.2013, 12:57   #966
burovalex
Разработчик
 
Аватар для burovalex
 
Регистрация: 04.04.2012
Сообщений: 468
Написано 37 полезных сообщений
(для 60 пользователей)
Ответ: Фак по Юнити.

Не, эт понятно что решение есть, я думал что может не ту функцию использую.
Как то это не правильно, если WorldToScreenPoint должна определять координаты на экране, то никак не (х, height - y)
__________________
(Offline)
 
Ответить с цитированием
Старый 14.03.2013, 13:01   #967
pax
Unity/C# кодер
 
Аватар для pax
 
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений
(для 5,323 пользователей)
Ответ: Фак по Юнити.

Почему нет? Мышь работает в тех же координатах, как и камера (рект камеры задается аналогично) и в справке про координатную систему написано http://docs.unity3d.com/Documentatio...reenPoint.html .
Screenspace is defined in pixels. The bottom-left of the screen is (0,0); the right-top is (pixelWidth,pixelHeight). The z position is in world units from the camera.
__________________
Blitz3d to Unity Wiki
(Offline)
 
Ответить с цитированием
Старый 14.03.2013, 21:53   #968
burovalex
Разработчик
 
Аватар для burovalex
 
Регистрация: 04.04.2012
Сообщений: 468
Написано 37 полезных сообщений
(для 60 пользователей)
Ответ: Фак по Юнити.

Ну не знаю, я както привык что левый верхний угол экрана, это начало координат. Думал что это стандарт..

Сейчас взялся за GUI, и тут не на все вопросы могу найти ответы.
Разобрался как свои скины вешать, немного разобрался в настройках, но помогите кое в чём

Есть текстура и текст, можно както сделать чтобы текстура растягивалась вместе с текстом, не важно в чем Label, TextArea.

И не могу найти как в скине допустим у TextArea сделать текстуру прозрачной.

И если есть какой-нибудь хорошая (полезная) тема по GUI - очень поможете!
__________________
(Offline)
 
Ответить с цитированием
Старый 15.03.2013, 07:33   #969
pax
Unity/C# кодер
 
Аватар для pax
 
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений
(для 5,323 пользователей)
Ответ: Фак по Юнити.

GUI это достаточно сложная тема, если лезть в ее дебри.

Растягивание: Когда создаешь стиль - надо задать Border для не растягиваемых краев, все что в него не попадает - растягивается. Конечно при условии если ты не задал фиксированный размер элемента управления. Текстура должна быть задана в Normal=>background на сколько я помню.

Текстуру прозрачной делай саму. Либо если хочешь контрол прозрачным сделать? то напиши перед его отрисовкой следующее:
GUI.color = new Color(1,1,1,0.5f); 
__________________
Blitz3d to Unity Wiki
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
burovalex (15.03.2013)
Старый 15.03.2013, 17:04   #970
burovalex
Разработчик
 
Аватар для burovalex
 
Регистрация: 04.04.2012
Сообщений: 468
Написано 37 полезных сообщений
(для 60 пользователей)
Ответ: Фак по Юнити.

Чтото так и не допёр как свой класс создать так, чтобы можно было обращаться к его полям.
Т.е.

public class plantInfoRect
    
{
    public 
Rect commentLabelgrowIcongrowLabel;
    } 
А обращаться потом
plantInfoRect.commentLabel = new Rect...; 
__________________
(Offline)
 
Ответить с цитированием
Старый 15.03.2013, 17:13   #971
seaman
Знающий
 
Регистрация: 08.01.2013
Адрес: Самара
Сообщений: 284
Написано 104 полезных сообщений
(для 180 пользователей)
Ответ: Фак по Юнити.

Для начала нужно создать сам класс plantInfoRect (если он, конечно, не статический).
plantInfoRect info = new plantInfoRect();
И уже потом заполнять его поля.
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
burovalex (15.03.2013)
Старый 15.03.2013, 17:35   #972
burovalex
Разработчик
 
Аватар для burovalex
 
Регистрация: 04.04.2012
Сообщений: 468
Написано 37 полезных сообщений
(для 60 пользователей)
Ответ: Фак по Юнити.

А ничего что я хочу использовать такую структуру :
private class PlantInfo
    
{
    private 
Rect commentLabelgrowIcongrowLabel;
    }  
private 
PlantInfo plantInfoRect;

void Start()
{
plantInfoRect = new PlantInfo();
}

void Update
{
plantInfoRect.commentLabel = new Rect(..);



вместо

enum plantInfo {commentLabelgrowIcon,};
private 
Rect[] plantInfoRect

void Start()
{
plantInfoRect = new Rect[Enum.GetNames(typeof(plantInfo)).Length];
}

void Update
{
plantInfoRect[(int)plantInfo.commentLabel] = new Rect(..);



На производительности и других подводных камнях не отзовётся?
__________________
(Offline)
 
Ответить с цитированием
Старый 15.03.2013, 17:50   #973
seaman
Знающий
 
Регистрация: 08.01.2013
Адрес: Самара
Сообщений: 284
Написано 104 полезных сообщений
(для 180 пользователей)
Ответ: Фак по Юнити.

Ну только вместо:
private Rect commentLabel, growIcon, growLabel;
нужно
public Rect commentLabel, growIcon, growLabel;
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
burovalex (15.03.2013)
Старый 15.03.2013, 17:59   #974
burovalex
Разработчик
 
Аватар для burovalex
 
Регистрация: 04.04.2012
Сообщений: 468
Написано 37 полезных сообщений
(для 60 пользователей)
Ответ: Фак по Юнити.

Помогите, не получается обратиться к классу rect.commentLabel
public class PlantInfoClass
        
{
        public 
bool enable;    
        public 
Vector3 position;
        public class 
PlantInfoRect {public Rect commentLabelgrowIcongrowLabel;}
        public 
PlantInfoRect rect;
        }
    public 
PlantInfoClass plantInfo;

void Start () 
    {
    
plantInfo = new PlantInfoClass();
    
plantInfo.rect.commentLabel = new Rect();   //Здесь ошибка
    

Object reference not set to an instance of an object
PlayerController.Start ()

Ссылка на объект не указывает на экземпляр объекта
__________________

Последний раз редактировалось burovalex, 15.03.2013 в 22:25.
(Offline)
 
Ответить с цитированием
Старый 16.03.2013, 15:34   #975
burovalex
Разработчик
 
Аватар для burovalex
 
Регистрация: 04.04.2012
Сообщений: 468
Написано 37 полезных сообщений
(для 60 пользователей)
Ответ: Фак по Юнити.

Блин, выходные, булка вымерла
__________________
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Часовой пояс GMT +4, время: 00:05.


vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com