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

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

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

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

Ответ
 
Опции темы
Старый 08.08.2014, 18:22   #1966
Morganolla
Бывалый
 
Аватар для Morganolla
 
Регистрация: 03.12.2008
Адрес: наша раша
Сообщений: 762
Написано 129 полезных сообщений
(для 245 пользователей)
Ответ: Вопросы от новичка

Сообщение от RegIon Посмотреть сообщение
Я бы написал шейдер для квада, в котором бар рисуется картинка с маской и программно менял -длину маски, или смешение setOffset методом
Тяжело написать такой шейдер самому? Еще не писал шейдеры в юнити...
__________________
Reality Simulation Games
Core 2 Duo 2,8GHz, RAM 1Gb, ATI R5670 1Gb. WinXP 32
(Offline)
 
Ответить с цитированием
Старый 19.08.2014, 17:42   #1967
RegIon
Элита
 
Аватар для RegIon
 
Регистрация: 16.01.2010
Адрес: Новосибирск
Сообщений: 2,157
Написано 502 полезных сообщений
(для 1,012 пользователей)
Ответ: Вопросы от новичка

Сообщение от Morganolla Посмотреть сообщение
Тяжело написать такой шейдер самому? Еще не писал шейдеры в юнити...
Нет, берешь готовый шейдер, например без z теста и освещения, и редактируешь GLSL код в нем. Примеры шейдеров можно выгуглить.
Алгоритм пиксельшейдера прост:
srs = tex2d(srs_img,pos)
mask = tex2d(mask_img,pos-vec2d(1-xoffset,0))
srs.a = mask.r
outcolor = srs.a

pos- координата пикселя
xoffset - смещение маски по x 0-1
outcolor - расчитаный пиксель

Просто ставит в альфа канал картинки значение красного канала маски из положения пикселя+смешение, получается альфамаска)

Так как не помню наизусть синтаксиса GLSL,то писал как помню.

Такой шейдер пойдет? В нем маска едет (вроде правильно, правил на мобиле):
Shader "Custom/NewShader" {
        
Properties {
                
_MainTex ("Base (RGB A-mask)"2D) = "white" {}
                
_SecondTex ("Base (RGB)"2D) = "white" {}
                
_Offset ("Offset"Range(0,1))=0.5
        
}
        
SubShader
        
{
                
Tags "RenderType"="Opaque" }
                
LOD 200
                
                CGPROGRAM
                
#pragma surface surf Lambert

                
sampler2D _MainTex;
                
sampler2D _SecondTex;
                
fixed _Offset;

                
struct Input
                
{
                        
float2 uv_MainTex;
                };

                
void surf (Input INinout SurfaceOutput o)
                {
                        
fixed4 c tex2D (_MainTexIN.uv_MainTex);
                        
fixed4 c1 tex2D (_SecondTexIN.uv_MainTex-float2(1-_Offset,0));

                        
o.Albedo c.rgb;
                        
o.Alpha c1.r;
                }
                
ENDCG
        

        
FallBack "Diffuse"

__________________
Сайт: http://iexpo.ml

Последний раз редактировалось RegIon, 19.08.2014 в 18:05. Причина: добавил шейдер
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Morganolla (03.09.2014)
Старый 03.09.2014, 16:54   #1968
Morganolla
Бывалый
 
Аватар для Morganolla
 
Регистрация: 03.12.2008
Адрес: наша раша
Сообщений: 762
Написано 129 полезных сообщений
(для 245 пользователей)
Ответ: Вопросы от новичка

Вопрос...
В приложении для андроида надо в ассетах запомнить массив рисунков (jpg) и потом в ходе игры их динамически подгружать как 2Д текстуры... Как это можно сделать вообще и скрипты (какая ф-ия)?
Пробовал через Resource.Load.., но при этом сильно растет объем АПК файла. Надо как то по другому... может как то с WWW....?
PS. В игре задействован 2dTool...
__________________
Reality Simulation Games
Core 2 Duo 2,8GHz, RAM 1Gb, ATI R5670 1Gb. WinXP 32
(Offline)
 
Ответить с цитированием
Старый 03.09.2014, 18:03   #1969
pax
Unity/C# кодер
 
Аватар для pax
 
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений
(для 5,323 пользователей)
Ответ: Вопросы от новичка

В проекте можно создать папку StreamingAssets
http://docs.unity3d.com/Manual/StreamingAssets.html
положить туда jpg файлы и в случае андроида только по WWW оттуда считать используя WWW.texture к примеру.
__________________
Blitz3d to Unity Wiki
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Morganolla (03.09.2014)
Старый 17.09.2014, 23:52   #1970
radiobutton
Бывалый
 
Регистрация: 16.09.2011
Сообщений: 863
Написано 257 полезных сообщений
(для 546 пользователей)
Ответ: Вопросы от новичка

Когда создаю новую папку в Scripts , то у меня автоматически появляется новая Assembly-CSharp-<Name> в проекте. Как можно этого избежать? (у меня кстати есть в Scripts папка, которая не помню как создавалась, но для нее нету отдельной "сборки", а вот новые нормально добавить не могу). Используется MonoDevelop.

Не знаете как со студией подружить юнити? Находил какие то статьи на англ, но ниче не понял.

Последний раз редактировалось radiobutton, 18.09.2014 в 04:19.
(Offline)
 
Ответить с цитированием
Старый 18.09.2014, 10:59   #1971
pax
Unity/C# кодер
 
Аватар для pax
 
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений
(для 5,323 пользователей)
Ответ: Вопросы от новичка

Сборки создаются в том случае, если в проекте есть особые папки (Plugins, Plugins/Editor, Editor, Standard Assets и т.д.). Это связано с тем, что эти части компилируются в разное время. Так же для js свои сборки.

Студия (не фри версия) работает нормально.
__________________
Blitz3d to Unity Wiki
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
radiobutton (18.09.2014)
Старый 18.09.2014, 22:31   #1972
radiobutton
Бывалый
 
Регистрация: 16.09.2011
Сообщений: 863
Написано 257 полезных сообщений
(для 546 пользователей)
Ответ: Вопросы от новичка

Сообщение от pax Посмотреть сообщение
Сборки создаются в том случае, если в проекте есть особые папки (Plugins, Plugins/Editor, Editor, Standard Assets и т.д.). Это связано с тем, что эти части компилируются в разное время. Так же для js свои сборки.
Точно у меня Editor как раз называется. +) Спасибо.

Сообщение от pax Посмотреть сообщение
Студия (не фри версия) работает нормально.
Действительно. =)
(Offline)
 
Ответить с цитированием
Старый 04.10.2014, 22:53   #1973
WISHMASTER35
Бывалый
 
Аватар для WISHMASTER35
 
Регистрация: 21.12.2008
Адрес: UA
Сообщений: 878
Написано 105 полезных сообщений
(для 357 пользователей)
Ответ: Вопросы от новичка

никто еще не тестировал юнити 5?
я так надеюсь, что в нем можно будет получить данные из render texture и можно будет создавать меш со своим набором и типом данных.
первое нужно, чтобы посчитать шум перлина на карточке. а второе чтобы оптимизировать потребление памяти. без этого дальнейшее развитие моего проекта бессмысленно(
Еще бы не помешало создавать меш прямо на gpu. сейчас приходится доставать данные из ComputeBuffer, а затем отправлять их в меш. Что накладно для, например, marching cubes.
(Offline)
 
Ответить с цитированием
Старый 05.10.2014, 18:19   #1974
pax
Unity/C# кодер
 
Аватар для pax
 
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений
(для 5,323 пользователей)
Ответ: Вопросы от новичка

C рендертекстуры же можно пиксели считать. Ставишь рендертекстуру RenderTexture.active = rt; и читаешь пиксели в обычную текстуру Texture2D.ReadPixels.
ИМХО скорее всего своих структур меша не будет.
__________________
Blitz3d to Unity Wiki
(Offline)
 
Ответить с цитированием
Старый 05.10.2014, 19:43   #1975
WISHMASTER35
Бывалый
 
Аватар для WISHMASTER35
 
Регистрация: 21.12.2008
Адрес: UA
Сообщений: 878
Написано 105 полезных сообщений
(для 357 пользователей)
Ответ: Вопросы от новичка

Можно то можно, но тормозит это сильно. да и у обычной текстуры форматов меньше.
www.gamedev.ru/code/forum/?id=176270 вообщем получить из нее данные - действительно проблема. и в этом не юнити виновата, а ограничение low level api, видно из-за синхронизации так. хотя на том форуме приводятся более производительные методы. так что юнити все же могла бы быть лучше.
в dx11 создали специальные текстуры для расчетов RWTexture2D/3D. но юнити имеет лишь compute buffer. а в dx9 наверно и вообще нет нормального способа это сделать.

если кастомного меша не будет, то можно попробовать Graphics.DrawProceduralIndirect. теоретически им можно отрендерить любые данные хранящиеся в compute buffer. но dx9 отпадает. хотя не ясно как эта функция работает и какой ее аналог в dx11. и примеров по ней не видел.
(Offline)
 
Ответить с цитированием
Старый 05.10.2014, 20:03   #1976
pax
Unity/C# кодер
 
Аватар для pax
 
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений
(для 5,323 пользователей)
Ответ: Вопросы от новичка

RenderTecture в видеопамяти, чтобы получить ее в обычную память, память надо скопировать, это естественно медленно. Я других способов не знаю как это быстрее сделать.

Я вообще ничего еще из новых возможностей типа compute buffer не использовал ничего.
__________________
Blitz3d to Unity Wiki
(Offline)
 
Ответить с цитированием
Старый 05.10.2014, 21:02   #1977
WISHMASTER35
Бывалый
 
Аватар для WISHMASTER35
 
Регистрация: 21.12.2008
Адрес: UA
Сообщений: 878
Написано 105 полезных сообщений
(для 357 пользователей)
Ответ: Вопросы от новичка

да копирование памяти не столь медленное. texture.GetPixels вполне может работать в рантайме. а Texture2D.ReadPixels понижала фпс до 1-5.
к сожалению не знаю есть ли в dx9 другие способы получить расчеты. в dx11 сделали RWTexture2D , но юнити почему-то их обошел стороной и подовольствовался лишь ComputeBuffer'ом.
(Offline)
 
Ответить с цитированием
Старый 06.10.2014, 18:33   #1978
Morganolla
Бывалый
 
Аватар для Morganolla
 
Регистрация: 03.12.2008
Адрес: наша раша
Сообщений: 762
Написано 129 полезных сообщений
(для 245 пользователей)
Ответ: Вопросы от новичка

Странный баг - моно ругается на Camera.main, говорит `Camera' does not contain a definition for `main' и т.д. про все свойства камеры...! Что это? )))
__________________
Reality Simulation Games
Core 2 Duo 2,8GHz, RAM 1Gb, ATI R5670 1Gb. WinXP 32

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

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

pax, извини за неточность там все правильно - Camera.main , я поправил предыдущий пост, тут что то другое...
__________________
Reality Simulation Games
Core 2 Duo 2,8GHz, RAM 1Gb, ATI R5670 1Gb. WinXP 32
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

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

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


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


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