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

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

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

Общие вопросы вопросы не попадающие ни в один из доступных разделов

Ответ
 
Опции темы
Старый 07.01.2013, 11:31   #946
pax
Unity/C# кодер
 
Аватар для pax
 
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений
(для 5,323 пользователей)
Ответ: Вопросы от новичка

Мне уже смешно)
static GUIStyle _myBlueStyle
public static GUIStyle MyBlueStyle
{
   
get
   
{
       if(
_myBlueStyle)
       {
           
_myBlueStyle = new GUIStyle();
           var 
blueTex = new Texture2D(4,4,TextureFormat.ARGB32false);
           var 
pixels blueTex.GetPixels();
           for (
int i 0pixels.Lengthi++)
           {
               
pixels[i] = new Color(0,0,1,0.75f);
           }
           
blueTex.SetPixels(pixels);
           
_myBlueStyle.normal.background blueTex;
       } 
       return 
_myBlueStyle;
   }

А вот тебе пример загрузки ресурсов для редактора http://answers.unity3d.com/questions...editorgui.html
__________________
Blitz3d to Unity Wiki
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
WISHMASTER35 (07.01.2013)
Старый 07.01.2013, 17:11   #947
WISHMASTER35
Бывалый
 
Аватар для WISHMASTER35
 
Регистрация: 21.12.2008
Адрес: UA
Сообщений: 878
Написано 105 полезных сообщений
(для 357 пользователей)
Ответ: Вопросы от новичка

Вот более путевые строки
			Rect rect = GUILayoutUtility.GetRect( new GUIContent(name), normal, GUILayout.ExpandWidth(true) );
			if(i == selected) FillRect(rect, Color.green);
			if(GUI.Button(rect, name, normal)) {
				if(selected != i) GUIUtility.keyboardControl = 0;
				selected = i;
			}
Все бы хорошо, но что за бред с Handles.DrawSolidRectangleWithOutline! Сразу после компиляции он еще выдает правильный цвет, но после первой перерисовки снова черным рисует. Странно, но в другом проекте работает.
Может есть где-то матрица трансформации цвета?

UPDATE:
Понял почему не работал Handles.DrawSolidRectangleWithOutline. Нужно было еще и Handles.color задать.
Впрочем все равно почему-то прямоугольник рисуется темнее, чем должен.

Вот код рисования списка
			Rect rect = GUILayoutUtility.GetRect( new GUIContent(name), style, GUILayout.ExpandWidth(true) );
			if(i == selected) {
				Color blue = new Color( 61/255f, 128/255f, 223/255f );
				FillRect(rect, blue);
			}
			
			GUI.Label(rect, name, style);
			
			if(Event.current.type == EventType.MouseDown && rect.Contains(Event.current.mousePosition)) {
				if(selected != i) GUIUtility.keyboardControl = 0;
				Event.current.Use();
				selected = i;
			}
Миниатюры
Нажмите на изображение для увеличения
Название: Безымянный.png
Просмотров: 713
Размер:	7.0 Кб
ID:	18410  
(Offline)
 
Ответить с цитированием
Старый 07.01.2013, 19:45   #948
WISHMASTER35
Бывалый
 
Аватар для WISHMASTER35
 
Регистрация: 21.12.2008
Адрес: UA
Сообщений: 878
Написано 105 полезных сообщений
(для 357 пользователей)
Ответ: Вопросы от новичка

Написал методы расширения для структуры Matrix4x4. Вроде и все работает, но матрица не изменяется.
	public static void SetPosition(this Matrix4x4 matrix, Vector3 position) {
		matrix.m03 = position.x;
		matrix.m13 = position.y;
		matrix.m23 = position.z;
	}
Что-то не так?
(Offline)
 
Ответить с цитированием
Старый 07.01.2013, 21:42   #949
pax
Unity/C# кодер
 
Аватар для pax
 
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений
(для 5,323 пользователей)
Ответ: Вопросы от новичка

ты изменяешь матрицу, но не возвращаешь ее туда, откуда взял
__________________
Blitz3d to Unity Wiki
(Offline)
 
Ответить с цитированием
Старый 08.01.2013, 13:21   #950
Morganolla
Бывалый
 
Аватар для Morganolla
 
Регистрация: 03.12.2008
Адрес: наша раша
Сообщений: 762
Написано 129 полезных сообщений
(для 245 пользователей)
Ответ: Вопросы от новичка

Вопрос- можно ли при одевании текстуры на спрайт сделать ее зеркальное отражение по оси Х или У ( типа ф-ии 'flip')
__________________
Reality Simulation Games
Core 2 Duo 2,8GHz, RAM 1Gb, ATI R5670 1Gb. WinXP 32
(Offline)
 
Ответить с цитированием
Старый 08.01.2013, 14:23   #951
cahekp
Разработчик
 
Аватар для cahekp
 
Регистрация: 14.12.2008
Адрес: Томск
Сообщений: 530
Написано 270 полезных сообщений
(для 883 пользователей)
Ответ: Вопросы от новичка

Сообщение от Morganolla Посмотреть сообщение
Вопрос- можно ли при одевании текстуры на спрайт сделать ее зеркальное отражение по оси Х или У ( типа ф-ии 'flip')
В материале у каждой текстуры есть свой Tiling и Offset.
Если Tiling по x изменить на -1, то изображение горизонтально отразится. Если изменить по y на -1, то, соответственно, отразится вертикально.
__________________
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Morganolla (08.01.2013)
Старый 08.01.2013, 22:07   #952
mauNgerS
Разработчик
 
Аватар для mauNgerS
 
Регистрация: 10.10.2008
Сообщений: 501
Написано 258 полезных сообщений
(для 670 пользователей)
Ответ: Вопросы от новичка

Доброго времени суток.

Подскажите пожалуйста, как на юнити сделать такую манипуляцию

hmap=LoadImage("Media\levelrts11.bmp")

SetBuffer(ImageBuffer(hmap))
For 
z=0 To grid
    
For x=0 To grid
        GetColor x
,z
        map
(x,z)=ColorRed()
    
Next
Next
SetBuffer BackBuffer
() 
__________________
(Offline)
 
Ответить с цитированием
Старый 08.01.2013, 22:51   #953
WISHMASTER35
Бывалый
 
Аватар для WISHMASTER35
 
Регистрация: 21.12.2008
Адрес: UA
Сообщений: 878
Написано 105 полезных сообщений
(для 357 пользователей)
Ответ: Вопросы от новичка

mauNgerS, для загрузки текстуры просто сделай public Texture2D tex переменную и назначь ей значение в инспекторе. Остальное не понял.

ты изменяешь матрицу, но не возвращаешь ее туда, откуда взял
В смысле? Куда возвращать? После вызова метода матрица вообще не изменяется.

Вот еще проблема с Matrix4x4. Создаю матрицу Matrix4x4.Scale, делаю такую операцию rectMatrix.inverse.MultiplyPoint(mouse). И в итоге получаю вектор с NaN. Почему так? Должно же получатся такое mouse / scale.
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
mauNgerS (09.01.2013)
Старый 08.01.2013, 23:05   #954
seaman
Знающий
 
Регистрация: 08.01.2013
Адрес: Самара
Сообщений: 284
Написано 104 полезных сообщений
(для 180 пользователей)
Ответ: Вопросы от новичка

	public static Matrix4x4 SetPosition(this Matrix4x4 matrix, Vector3 position) {
		matrix.m03 = position.x;
		matrix.m13 = position.y;
		matrix.m23 = position.z;
                return matrix;
	}
Не уверен, что нельзя использовать ref в первом параметре, но ни одного такого примера не видел. Проверять некогда.
Texture2D hmap = (Texture2D)Resources.Load("Media\levelrts11")
Texture2D map = new Texture2D();
for (int z=0; z < grid; z++)
{
    for(int x=0; x < grid; x++)
    {
        Color c = hmap.GetPixel(x, z);
        map.SetPixel(x, z, Color.red);
    }
}
(Offline)
 
Ответить с цитированием
Эти 2 пользователя(ей) сказали Спасибо seaman за это полезное сообщение:
mauNgerS (09.01.2013), WISHMASTER35 (09.01.2013)
Старый 09.01.2013, 00:37   #955
pax
Unity/C# кодер
 
Аватар для pax
 
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений
(для 5,323 пользователей)
Ответ: Вопросы от новичка

Сообщение от WISHMASTER35 Посмотреть сообщение
В смысле? Куда возвращать? После вызова метода матрица вообще не изменяется.
При использовании свойства ты берешь копию матрицы и передаешь ее в функцию, меняющую ее значения. Но обратно в это свойство ты ее не назначаешь. Матрица не класс, а ValueType - не ссылочный тип данных.

Т.е. в твоем случае надо
Handles.matrix Handles.matrix.SetPosition(new Vector3(1,2,3)); 
вместо ожидаемого неправильного
Handles.matrix.SetPosition(new Vector3(1,2,3)); 
В итоге возвращаемая матрица попадает в никуда
__________________
Blitz3d to Unity Wiki
(Offline)
 
Ответить с цитированием
Старый 09.01.2013, 21:52   #956
mauNgerS
Разработчик
 
Аватар для mauNgerS
 
Регистрация: 10.10.2008
Сообщений: 501
Написано 258 полезных сообщений
(для 670 пользователей)
Ответ: Вопросы от новичка

seaman, приведённый тобой код не работает, но теперь понятно куда копать.

Можете помочь с этой функцией:

Scaner=CreatePivot()

Function 
GetHeight#(X#,Z#)
    
PositionEntity Scaner,X,50,Z
    RotateEntity Scaner
,90,0,0
    EntityPick Scaner
,100
    
Return PickedY()
End Function 
__________________
(Offline)
 
Ответить с цитированием
Старый 09.01.2013, 22:19   #957
seaman
Знающий
 
Регистрация: 08.01.2013
Адрес: Самара
Сообщений: 284
Написано 104 полезных сообщений
(для 180 пользователей)
Ответ: Вопросы от новичка

А это потому что я не понимаю, что делает Ваш код. Если в первом случае еще что-то можно попытаться догадаться, то тут совсем не понятно. Я Блиц не знаю. Посмотрел справочник - не смог понять что делает EntityPick - "Возвращает ближайшую сущность впереди указанной". Что значит "впереди"? По глобальной оси Z? Или ближе к камере? Похоже, что ближе к камере, т.к. в первом случае не имеет смысла узнавать ее координату Y - она будет та же, что у Вашего Сканера.
Лучше подождите, когда появятся спецы по Блицуи Юнити.
(Offline)
 
Ответить с цитированием
Старый 09.01.2013, 22:56   #958
mauNgerS
Разработчик
 
Аватар для mauNgerS
 
Регистрация: 10.10.2008
Сообщений: 501
Написано 258 полезных сообщений
(для 670 пользователей)
Ответ: Вопросы от новичка

Ок прошу прощения.

Первый код:
Имеется чёрно-белая картинка. Карта высот.
Я загружаю её в память. В цикле прохожусь по каждому пикселю и записываю значение цвета в массив. (красный, зеленый или синий - значения не имеет, какой-то один)

В дальнейшем я могу использовать этот массив для построения игрового уровня.

Второй код в целом позволяет узнать высоту любого участка игрового уровня. Это нужно для того, чтобы допустим посадить лес. Чтобы деревья не висели над землёй и не проваливались, а были на земле.
__________________
(Offline)
 
Ответить с цитированием
Старый 09.01.2013, 22:59   #959
RegIon
Элита
 
Аватар для RegIon
 
Регистрация: 16.01.2010
Адрес: Новосибирск
Сообщений: 2,157
Написано 502 полезных сообщений
(для 1,012 пользователей)
Ответ: Вопросы от новичка

Сообщение от mauNgerS Посмотреть сообщение
seaman, приведённый тобой код не работает, но теперь понятно куда копать.

Можете помочь с этой функцией:

Scaner=CreatePivot()

Function 
GetHeight#(X#,Z#)
    
PositionEntity Scaner,X,50,Z
    RotateEntity Scaner
,90,0,0
    EntityPick Scaner
,100
    
Return PickedY()
End Function 
Гляди что есть: http://shgames.ru/
(спер из подписи PAXa)
__________________
Сайт: http://iexpo.ml
(Offline)
 
Ответить с цитированием
Старый 09.01.2013, 23:12   #960
mauNgerS
Разработчик
 
Аватар для mauNgerS
 
Регистрация: 10.10.2008
Сообщений: 501
Написано 258 полезных сообщений
(для 670 пользователей)
Ответ: Вопросы от новичка

Blitz3D to Unity3D я смотрю в первую очередь.
Но на эти темы не нашёл там ответа
__________________
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

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

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


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


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