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

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

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

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

Ответ
 
Опции темы
Старый 05.06.2012, 16:58   #331
RegIon
Элита
 
Аватар для RegIon
 
Регистрация: 16.01.2010
Адрес: Новосибирск
Сообщений: 2,158
Написано 502 полезных сообщений
(для 1,012 пользователей)
Хорошо Ответ: Вопросы от новичка

Сообщение от pie Посмотреть сообщение
Как поменять шейдер материала на лету?

if(Input.GetKey(KeyCode.A))
            {
                
brakeLights[0].renderer.material[0].shader тут нужно обратиться к стандартному шейдеру self-illumin/diffuse;
            }else{
                
brakeLights[0].renderer.material[0].shader а тут к обычному diffuse;
            } 
Как обращаться к стандартным шейдерам?
Я думаю проще бедет сделать так:
Public Material lol_1;
Public 
Material lol_2;

void Update()
{
    if(
Input.GetKeyDown(KeyCode.A))
            
renderer.material=lol_1;
     else
           
renderer.material=lol_2;
   

Надо кусок одной текстуры затайлить на другой(квадратная карта), как это можно сделать не Texture.setPixel()? (надо циферки из текстуры нарисовать на другой всего раз)
__________________
Сайт: http://iexpo.ml
(Offline)
 
Ответить с цитированием
Старый 05.06.2012, 22:42   #332
pax
Unity/C# кодер
 
Аватар для pax
 
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений
(для 5,323 пользователей)
Ответ: Вопросы от новичка

Сообщение от Костян Посмотреть сообщение
Надо кусок одной текстуры затайлить на другой(квадратная карта), как это можно сделать не Texture.setPixel()? (надо циферки из текстуры нарисовать на другой всего раз)
А вот это не подойдет (вторая перегрузка)?
Texture2D.GetPixels
Texture2D.SetPixels
Только обе текстуры должны поддерживать чтение и запись пикселей (можно включить в режиме Advanced).
__________________
Blitz3d to Unity Wiki
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
RegIon (06.06.2012)
Старый 06.06.2012, 11:27   #333
RegIon
Элита
 
Аватар для RegIon
 
Регистрация: 16.01.2010
Адрес: Новосибирск
Сообщений: 2,158
Написано 502 полезных сообщений
(для 1,012 пользователей)
Ответ: Вопросы от новичка

using UnityEngine;
using System.Collections;

public class 
Numbers MonoBehaviour {

    public 
Texture2D NumberTex;
    public 
int Num=0;
    public 
Vector2 Pos;
    public 
bool alignRight=true;
    
    public 
Texture2D RenderTo;
    
    private 
int Block_x=0;
    private 
int Block_y=0;
    private 
Color[,] Pixels=new Color[10,128*128];
    
void Start () {
        if(
NumberTex)
        {
        
Block_x=(int)NumberTex.width/10;
        
Block_y=NumberTex.height;
        
            for(
int i=0;i<10;i++){
                
                
Color[] tmp=NumberTex.GetPixels(i*Block_x,0,Block_x,Block_y);
                
                for(
int n=0;n<tmp.Length;n++)    
                    
Pixels[i,n]=tmp[n];
                
            }
        }
    }
    
    
void Update () {
        
        
char[] tmp_1=Num.ToString().ToCharArray();
        if(
RenderTo)
        {
            for(
int i=0;i<tmp_1.Length;i++)
            {
                
Debug.Log(int.Parse(tmp_1[i].ToString()));
                
                if(
alignRight)
-----------
ТУТ------------->RenderTo.SetPixels(Pos.x-(i*Block_x),Pos.y,Block_x,Block_y,---->Pixels[int.Parse(tmp_1[i].ToString())]);
            }
        }
    }

Я так понял среда .NET вообще не дружит с массивами?
Как мне получить к внутренний массив в двумерном массиве?
//Например как в С:
int lol[10,512];
int 2lol[512]=lol[0];
?
__________________
Сайт: http://iexpo.ml
(Offline)
 
Ответить с цитированием
Старый 06.06.2012, 11:48   #334
ffinder
Дэвелопер
 
Аватар для ffinder
 
Регистрация: 10.09.2007
Сообщений: 1,442
Написано 793 полезных сообщений
(для 1,460 пользователей)
Ответ: Вопросы от новичка

Сообщение от Костян Посмотреть сообщение
Я так понял среда .NET вообще не дружит с массивами
ну да, тысячи проектов обходятся вообще без массивов, потому что "среда .NET c ними не дружит", всё верно
(Offline)
 
Ответить с цитированием
Старый 06.06.2012, 13:25   #335
pax
Unity/C# кодер
 
Аватар для pax
 
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений
(для 5,323 пользователей)
Ответ: Вопросы от новичка

Сообщение от Костян Посмотреть сообщение
Pixels[int.Parse(tmp_1[i].ToString())]); 
Что это за страсть такая?

Сообщение от Костян Посмотреть сообщение
Как мне получить к внутренний массив в двумерном массиве?
Объяви массив по другому:

private Color[][] Pixels=new Color[10][]; 
__________________
Blitz3d to Unity Wiki
(Offline)
 
Ответить с цитированием
Старый 06.06.2012, 21:57   #336
WISHMASTER35
Бывалый
 
Аватар для WISHMASTER35
 
Регистрация: 21.12.2008
Адрес: UA
Сообщений: 878
Написано 105 полезных сообщений
(для 357 пользователей)
Ответ: Вопросы от новичка

Я конечно понимаю, что работа из другого потока может создать ошибки. Но зачем запретили даже со своими полями работать, если скрипт наследован от юнитивских классов(
Вот как быть? В префабе, в ScriptableObject храню нужные мне данные. И с этими данными нужно работать в другом потоке. Такой облом аж плачу(

Еще обнаружил, что в префабе не будят хранится данные сериализованного объекта, если ссылка на родительский класс этого объекта.
Хотел сделать [SerializeField] private Figure figure = new Cube(); А в ней хранить разные типы объектов, но хръ!
Не говоря уже, что если не сделать new Cube(), то юнити сам создаст объект Figure не смотря на то, что этот класс абстрактный))
(Offline)
 
Ответить с цитированием
Старый 07.06.2012, 12:33   #337
is.SarCasm
Бывалый
 
Аватар для is.SarCasm
 
Регистрация: 17.05.2009
Адрес: Днепропетровск
Сообщений: 672
Написано 180 полезных сообщений
(для 428 пользователей)
Ответ: Вопросы от новичка

Как передать информацию из одного уровня в другой?? Например я из Menu захожу на Level_1 и мне нужно передать настройки игры.
(Offline)
 
Ответить с цитированием
Старый 07.06.2012, 13:23   #338
RegIon
Элита
 
Аватар для RegIon
 
Регистрация: 16.01.2010
Адрес: Новосибирск
Сообщений: 2,158
Написано 502 полезных сообщений
(для 1,012 пользователей)
Ответ: Вопросы от новичка

Сообщение от is.SarCasm Посмотреть сообщение
Как передать информацию из одного уровня в другой?? Например я из Menu захожу на Level_1 и мне нужно передать настройки игры.
если много, то можно завести одни статичный массив и записать в него конфу, хотя можно все переменные статичить:
public static int lolo
__________________
Сайт: http://iexpo.ml
(Offline)
 
Ответить с цитированием
Старый 07.06.2012, 13:31   #339
cahekp
Разработчик
 
Аватар для cahekp
 
Регистрация: 14.12.2008
Адрес: Томск
Сообщений: 530
Написано 270 полезных сообщений
(для 883 пользователей)
Ответ: Вопросы от новичка

Сообщение от is.SarCasm Посмотреть сообщение
Как передать информацию из одного уровня в другой?? Например я из Menu захожу на Level_1 и мне нужно передать настройки игры.
Есть несколько способов.

1) Можно в меню создать отдельный объект с настройками и добавить на него компонент с простыми строчками:
void Awake() {
     
DontDestroyOnLoad(gameObject);

После этого этот объект не будет удаляться при переходе от одного уровня в другой. В уровне Level_1, допустим, можно написать что-то вроде:
void Start() {
    
GameObject go GameObject.Find("OPTIONS");
    
MyOptions mo go.GetComponent<MyOptions>();
    
// и так далее...

2) Самый простой, на мой взгляд. Просто создай статичный класс. Его даже на сцену не нужно вытаскивать.
public class Options MonoBehaviour {
    public static 
int screenWidth;
    public static 
int screenHeight;
    public static 
float soundVolume;

И всё! Теперь из любого скрипта можешь обращаться к нему напрямую: Options.soundVolume = 1.0F;
И что-нибудь читать из него: int sw = Options.screenWidth;
При переходе из одного уровня в другой содержимое статичного класса не обнуляется.
__________________
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
is.SarCasm (11.06.2012)
Старый 07.06.2012, 16:06   #340
RegIon
Элита
 
Аватар для RegIon
 
Регистрация: 16.01.2010
Адрес: Новосибирск
Сообщений: 2,158
Написано 502 полезных сообщений
(для 1,012 пользователей)
Ответ: Вопросы от новичка

Сообщение от pax Посмотреть сообщение
Что это за страсть такая?


Объяви массив по другому:
private Color[][] Pixels=new Color[10][]; 
Страсть-самый простой способ из числа сделать массив цифр, а выглядит она так:
int lol=122345678;
string[] lol_str=Split.(lol.ToString().Replase(""," ")," ");//сплит не держит пустую ""
int lol_int= new int[];
for(
int i=0;i<lol_str.Length();i++) lol_int[i]=int.Parse(lol_str[i]); 
__________________
Сайт: http://iexpo.ml
(Offline)
 
Ответить с цитированием
Старый 08.06.2012, 09:45   #341
pie
ПроЭктировщик
 
Аватар для pie
 
Регистрация: 04.11.2011
Сообщений: 176
Написано 19 полезных сообщений
(для 64 пользователей)
Ответ: Вопросы от новичка

Всем привет! У меня появилось 2 вопроса:
1) Есть ли где нибудь пример палитры которая высвечивается в GUI и при выборе цвета некий объект тоже меняет цвет.
2) Как заставить объект двигаться по поинтам. То бишь по определенному пути.
(Offline)
 
Ответить с цитированием
Старый 08.06.2012, 10:26   #342
pax
Unity/C# кодер
 
Аватар для pax
 
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений
(для 5,323 пользователей)
Ответ: Вопросы от новичка

1) Найди картинку с палитрой, читай с нее цвет пикселя. В более сложном случае тебе надо работать с HSV/HSL/HSB
2) Тут был хороший пример перемещения по вэйпоинтам. А вообще все зависит от задачи.
__________________
Blitz3d to Unity Wiki
(Offline)
 
Ответить с цитированием
Старый 08.06.2012, 15:31   #343
pie
ПроЭктировщик
 
Аватар для pie
 
Регистрация: 04.11.2011
Сообщений: 176
Написано 19 полезных сообщений
(для 64 пользователей)
Ответ: Вопросы от новичка

У кого есть или кто знает где найти дайте ссылку пожалуйста на пример реализации техники. как то давно сам находил. теперь никак не могу найти. там можно было переключаться между разными средствами передвижения. там был внедорожник, вертолет, самолет, катер, танк.
(Offline)
 
Ответить с цитированием
Старый 08.06.2012, 22:41   #344
is.SarCasm
Бывалый
 
Аватар для is.SarCasm
 
Регистрация: 17.05.2009
Адрес: Днепропетровск
Сообщений: 672
Написано 180 полезных сообщений
(для 428 пользователей)
Ответ: Вопросы от новичка

`System.IO.File' does not contain a definition for `WriteAllLines'
WTF?
(Offline)
 
Ответить с цитированием
Старый 08.06.2012, 22:49   #345
pax
Unity/C# кодер
 
Аватар для pax
 
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений
(для 5,323 пользователей)
Ответ: Вопросы от новичка

Сообщение от is.SarCasm Посмотреть сообщение
WTF?
Платформа? Какие выбраны настройки Mono? 2.0 или 2.0 Subset? Второй урезанный. Да и не обещал никто, что абсолютно все функции будут реализованы в Mono из Net Framework, который использует Unity.
__________________
Blitz3d to Unity Wiki
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

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

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


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


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