forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Общие вопросы (http://forum.boolean.name/forumdisplay.php?f=166)
-   -   Вопросы от новичка (http://forum.boolean.name/showthread.php?t=15809)

Lestar 12.01.2012 00:57

Ответ: Вопросы от новичка
 
Не будет ничего нигде растягиваться если не трогать камеру. Через Screen позиционировать элементы, а не скейлить их. Отслеживаем нажатие через OnMouseDown + вешаем на камеру(я так понял ты добиваешься, чтобы на девайсах работало)
PHP код:

sing UnityEngine;
using System.Collections;
using System.Collections.Generic;

public class 
OnTouchDown MonoBehaviour
{
    
void Update()
    {
        
// Code for OnMouseDown in the iPhone. Unquote to test.
        
RaycastHit hit = new RaycastHit();
        for (
int i 0Input.touchCount; ++i)
        {
            if (
Input.GetTouch(i).phase.Equals(TouchPhase.Began))
            {
                
// Construct a ray from the current touch coordinates
                
Ray ray Camera.main.ScreenPointToRay(Input.GetTouch(i).position);
                if (
Physics.Raycast(rayout hit))
                {
                    
hit.transform.gameObject.SendMessage("OnMouseDown");
                }
            }
        }
    }



WISHMASTER35 12.01.2012 02:03

Ответ: Вопросы от новичка
 
Аа, ну да, в ортогональной камере вроде не должно растягивается. Но все же для 2д интерфейса я бы все же использовал бы GUI, а не парился с плейнами и вторыми камерами.
Отслеживать нажатие 2д элементов через Raycast это уже слишком.
Я хочу, что бы на девайсах с разными размерами экранов нормально смотрелся интерфейс.

Lestar 12.01.2012 02:33

Ответ: Вопросы от новичка
 
GUI все одно лучше рисовать во второй камере(так собственно все и делают), тогда получишь полный контроль над ним, независимо от поведения первой камеры. Вот использовать для девайсов родную систему GUI это да, жопа, припарки от нее получишь еще те.

WISHMASTER35 12.01.2012 13:34

Ответ: Вопросы от новичка
 
А конкретнее какой полный контроль? Мне не так и много надо.
И какие припарки от GUI можно получить?
Вот, кстати, еще одни вопрос по адаптации под все размеры. Как сделать, что бы размер шрифта был нормального размера на всех экранах?

Lestar 12.01.2012 14:39

Ответ: Вопросы от новичка
 
Твой гуй не будет никак зависеть от того, что ты делаешь с главной камерой и в случае с плашками проще будет работать, так как будет возможность вывести 1 пиксель=1 юнит. Стандартный ГУЙ даже если твой код очень чист периодически вызывает уборщик, который в свою очередь дает лишнюю нагрузку. Стандартный ГУЙ дает +1 ДК на каждую выведенную кнопку, текстуру. Для шрифтов используй GUIStyle.

WISHMASTER35 12.01.2012 15:29

Ответ: Вопросы от новичка
 
Не знаю, что надо сделать с камерой, что бы испортить GUI.
Вообщем я так понимаю стандартный GUI медленный, вызывает сборщик мусора, и лучше 2д рисовать плейном и в отдельной ортогональной камерой.
Мне бы пока как по легче, нет особого желания сильно возится с GUI, тем более в самом начале проекта.

Lestar 12.01.2012 16:40

Ответ: Вопросы от новичка
 
Цитата:

Сообщение от WISHMASTER35 (Сообщение 216626)
Не знаю, что надо сделать с камерой, что бы испортить GUI.

Тем не менее у тебя это получилось.
Такое чувство, что я кого то уговариваю. Хоть на голове стойте, но не жалуйтесь потом, что на девайсе "шото тупит игра, движок гавно".

WISHMASTER35 12.01.2012 17:01

Ответ: Вопросы от новичка
 
У меня GUI не портился. Просто например в GUITexture Pixel Inset при разных разрешениях всегда одинаковые. В принципе это можно выравнять.
Да и если плейнами делать GUI в ортогональной камере, то выравниваться они будут только по высоте. По ширине все равно надо будет корректировать, если будет другое соотношение сторон.
А если свой GUI сделать, то как текст рисовать?

Lestar 12.01.2012 17:11

Ответ: Вопросы от новичка
 
Есть как Screen.width, так и Screen.height .Для букв писать дополнительно тузлу. Генерить плайник, на него накладывать шрифт.

WISHMASTER35 14.01.2012 00:13

Ответ: Вопросы от новичка
 
Если я в коде генерирую меш, то куда его можно сохранить, что бы повторно не создавать его? Можно конечно в статическую ссылку, но в unity вроде что-то для этого есть.

Кто-нибудь знает как работает проектор?
На сколько он тормазит? МИ можно ли проецируемую им картинку немного отодвинуть от плоскости на которую проецируется?
И можно ли его яркость увеличить, а то совсем ели видно.

pax 14.01.2012 01:02

Ответ: Вопросы от новичка
 
1. Если генерируешь в редакторе, то сохраняй в ассеты. Если в рантайме, то статическая переменная подойдет.
2. Не пробовал, не могу подсказать.

WISHMASTER35 14.01.2012 01:16

Ответ: Вопросы от новичка
 
Со статической переменной он вообще никогда не удалиться.
Еще сейчас предупреждение начало лезть
Cleaning up leaked objects in scene since no game object, component or manager is referencing them
Mesh has been leaked 1 times.
Пишет, что на меш ссылок уже нет, а он существует. Хз где и как его удалять(

pax 14.01.2012 01:31

Ответ: Вопросы от новичка
 
Если создаешь в редакторе, то естественно ссылок на него не останется, если он не на объекте, а в статической переменной. Если потом хочешь его переиспользовать - сохрани в ассеты.

WISHMASTER35 14.01.2012 16:34

Ответ: Вопросы от новичка
 
Черт! Как эти триггеры работают?
Повесил на игрока большой сферический триггер.
Сделал, что бы в OnTriggerEnter этот триггер включал у врага полосу жизней, а в OnTriggerExit выключал.
Но включается только когда я уже в впритык подхожу, а выключаться он вообще не думает.
Пробовал и с OnTriggerStay, но было не лучше.

Lestar 14.01.2012 17:29

Ответ: Вопросы от новичка
 
http://unity3d.com/support/documenta...xCollider.html смотреть коллизионную матрицу. Я так понимаю ригидбоди на одном из обьектов есть.


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

vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot