Суббота, 23 Ноября 2024, 04:50

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Результаты поиска
vaulverinДата: Среда, 19 Декабря 2012, 13:46 | Сообщение # 1 | Тема: Приложение съедает очень много оперативной памяти
был не раз
Сейчас нет на сайте
95 jpg картинок с разрешением 1500 x 722 (RGB 24bit), текстура каждого изображения получается занимает чуть больше 3Мб,
все вместе около 300Мб, но ни как не 2Гб.

А как посмотреть не создаются ли одни и те же текстуры несколько раз? Проверил массив с текстурами ни чего лишнего там нет.
vaulverinДата: Вторник, 18 Декабря 2012, 15:56 | Сообщение # 2 | Тема: Приложение съедает очень много оперативной памяти
был не раз
Сейчас нет на сайте
Доброго времени суток,

есть сцена, которая подгружает картинки из папки ( они не зашиты в приложение, так как требуется возможность замены этих картинок ),
беда в том что делает она это очень медленно ( около минуты, хотя общий вес картинок 10Мб ), это во первых, а во вторых "съедается"
огромное количество ОП ( примерно 2 Гб !), что делает не возможным запуск приложения на машинах с объемом ОП 2Гб и меньше.
При исключении этой сцены приложение загружается почти мгновенно и требует совсем не много ОП.

Вот код сцены:
Code

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

// класс для загрузки картинок
public class Images : MonoBehaviour{
  public Dictionary<string, Texture2D[]> Slider;
  public Texture[] fullsizePictures;
   
  public IEnumerator getImages(){
   string filePath;
    
   string[] Folders = new string[] {
    "Layer1Slides",
    "Layer2Slides",
    "Layer3Slides",
    "Layer4Slides",
    "Layer5Slides",
    "Layer6Slides",
    "Layer7Slides",
    "BottomLayer1Slides",
    "BottomLayer2Slides",
    "BottomLayer3Slides",
    "BottomLayer4Slides",
    "BottomLayer5Slides",
    "BottomLayer6Slides",
    "BottomLayer7Slides",
    "BottomLayer8Slides",
    "BottomLayer9Slides",
    "BottomLayer10Slides",
    "BottomLayer11Slides",
    "BottomLayer12Slides",
    "fullsizePictures"
   };
   Slider = new Dictionary<string, Texture2D[]>();
   for(int j = 0; j < Folders.Length; j++){
    filePath = Application.streamingAssetsPath+"/slides/"+Folders[j]+"/";
    string[] images = System.IO.Directory.GetFiles(@filePath, "*.jpg");
    if(Folders[j] == "fullsizePictures") fullsizePictures = new Texture[images.Length];
    else Slider[Folders[j]] = new Texture2D[images.Length];
    for (int i = 0; i < images.Length; i++){
     WWW img = new WWW("file://"+images[i]);
     yield return img;
     if(Folders[j] == "fullsizePictures") fullsizePictures[i] = img.texture;
     else Slider[Folders[j]][i] = img.texture;
     if(j == Folders.Length - 1 && i == images.Length - 1){
      Application.LoadLevel("main");
     }
    }
   }
  }
}

public class preload : MonoBehaviour {
   
  public Images img;
   
  void Awake(){
   DontDestroyOnLoad(this);  
  }
   
  void Start () {
   img = gameObject.AddComponent<Images>();
   StartCoroutine(img.getImages());
  }
}
vaulverinДата: Понедельник, 29 Октября 2012, 12:50 | Сообщение # 3 | Тема: Использование одного массива на разных сценах
был не раз
Сейчас нет на сайте
Спасибо за помощь!)
Только с GetComponent("ИмяСкрипта") не сработало, написал GetComponent<ИмяСкрипта>() и заработало =)
vaulverinДата: Пятница, 26 Октября 2012, 13:09 | Сообщение # 4 | Тема: Использование одного массива на разных сценах
был не раз
Сейчас нет на сайте
а как к нему потом обращаться на другой сцене?
vaulverinДата: Четверг, 25 Октября 2012, 15:51 | Сообщение # 5 | Тема: Использование одного массива на разных сценах
был не раз
Сейчас нет на сайте
Здравствуйте,
имеется 2 сцены - сцена, которая подгружает главную сцену и собственно главная, на которой происходит все действо.
Во время 1й сцены я создаю ассоциативный массив с названиями и текстурами.
Как сделать так, что бы его можно было использовать во 2й сцене?
vaulverinДата: Среда, 24 Октября 2012, 12:41 | Сообщение # 6 | Тема: Проблема с вызовом функции
был не раз
Сейчас нет на сайте
Спасибо, помогло.
vaulverinДата: Вторник, 23 Октября 2012, 16:16 | Сообщение # 7 | Тема: Проблема с вызовом функции
был не раз
Сейчас нет на сайте
Здравствуйте,
С# вижу 2й день, строго не судите)
Делаю так:

Code

public Texture2D test;
public string filePath;
   ..........
IEnumerator LoadImg(string path) {
     Debug.Log("2 ___"+path);
  WWW img = new WWW(path);
  yield return img;
  test = img.texture;
   
}
   
void LoadSlides()
{
  filePath = System.IO.Path.Combine(Application.streamingAssetsPath+"/slides/Layer1Slides/", "1_0.jpg");
  Debug.Log("1 ___"+filePath);
  LoadImg(filePath);
        ........
}
   .........

И функция LoadImg почему-то не вызывается
vaulverinДата: Понедельник, 22 Октября 2012, 17:23 | Сообщение # 8 | Тема: Загрузка пользовательских изображений в Unity3d
был не раз
Сейчас нет на сайте
Здравствуйте,
задача такая, после построения приложения в папке с .ехе фалом должна быть папка с картинками, которые должны подгружаться приложением и которые можно менять.
Как ее решить?
Пробовал через StreamingAssets, картинки при билдинге переносятся, все хорошо, но как к ним обращаться и использовать не понял.
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг