|
Общие вопросы вопросы не попадающие ни в один из доступных разделов |
03.08.2012, 18:56
|
#556
|
Легенда
Регистрация: 14.10.2007
Сообщений: 3,878
Написано 2,012 полезных сообщений (для 5,072 пользователей)
|
Ответ: Вопросы от новичка
Сообщение от WISHMASTER35
gector, .а почему player prefab не используешь? он вроде бы для сохранения и создан.
черт! не пойму я этих вершинных шейдеров. почему если я меняю appdata_full на _base или свою структуру, то вылвзят какие-то левые ошибки?
я правильно понимаю что если вершинный шейдер возвращает структуру v2f, то сурфейс шейдер не будет работать, а только фрагментный?
и почему после pragma vertex иногда пишется двоеточие?
|
Из справки:
therefore it is not recommended to call during actual gameplay.
|
Я предпочитаю по-старинке отдельным файлом. Тем более что та штука не предназначена для сохранения в целом.
|
(Offline)
|
|
03.08.2012, 19:14
|
#557
|
Бывалый
Регистрация: 21.12.2008
Адрес: UA
Сообщений: 878
Написано 105 полезных сообщений (для 357 пользователей)
|
Ответ: Вопросы от новичка
почему она не предназначена для сохранения?
а тебе во время самой игры надо сохранять? не понял почему во время игры не рекомендовано сохранять.
|
(Offline)
|
|
03.08.2012, 19:34
|
#558
|
Легенда
Регистрация: 14.10.2007
Сообщений: 3,878
Написано 2,012 полезных сообщений (для 5,072 пользователей)
|
Ответ: Вопросы от новичка
Сообщение от WISHMASTER35
почему она не предназначена для сохранения?
а тебе во время самой игры надо сохранять? не понял почему во время игры не рекомендовано сохранять.
|
Я как понимаю это для восстановления игры в особо хардкорных случаях).
Тем более, что загрузка через обычный файл более гибкая.
Кстати говоря опять не получилось. Может я не все знаю об андройдовской ФС? Теоретически - что может быть не так? Код ведь прост как две копейки.
|
(Offline)
|
|
03.08.2012, 19:47
|
#559
|
Мастер
Регистрация: 27.01.2008
Адрес: Россия, СКФО, ЧР, Грозный
Сообщений: 1,144
Написано 578 полезных сообщений (для 2,207 пользователей)
|
Ответ: Вопросы от новичка
посоны, есть ли какая нибудь возможность как нибудь регулировать ширину луча?
|
(Offline)
|
|
03.08.2012, 20:00
|
#560
|
Бывалый
Регистрация: 21.12.2008
Адрес: UA
Сообщений: 878
Написано 105 полезных сообщений (для 357 пользователей)
|
Ответ: Вопросы от новичка
Gector, ну для сохранения счета и кол-ва пройденных уровней подойдет. для сохранения больших данных врядли т.к. туда кажется массив байт(файл) не запишешь.
ты только на андроиде в корне папок не создавай, а то от других игр уже и так куча мусора в корне. что-то нужное среди них херь найдешь.
Hurrit, луч ширины не имеет. используй капсулу.
|
(Offline)
|
|
03.08.2012, 20:12
|
#561
|
Легенда
Регистрация: 14.10.2007
Сообщений: 3,878
Написано 2,012 полезных сообщений (для 5,072 пользователей)
|
Ответ: Вопросы от новичка
Сообщение от WISHMASTER35
Gector, ну для сохранения счета и кол-ва пройденных уровней подойдет. для сохранения больших данных врядли т.к. туда кажется массив байт(файл) не запишешь.
ты только на андроиде в корне папок не создавай, а то от других игр уже и так куча мусора в корне. что-то нужное среди них херь найдешь.
|
Про корень я знаю).
А вот на счет сохранения это смотря как сохранять. Абсолютно все сохранять это вообще не вариант.
Тут в принципе еще проще. Повесил на объект скрипт для сохранения и все дела. Только надо разобраться как эти файлы создавать. Может я его найти не могу по какой то другой причине...
|
(Offline)
|
|
03.08.2012, 23:07
|
#562
|
Мастер
Регистрация: 27.01.2008
Адрес: Россия, СКФО, ЧР, Грозный
Сообщений: 1,144
Написано 578 полезных сообщений (для 2,207 пользователей)
|
Ответ: Вопросы от новичка
Сообщение от WISHMASTER35
Hurrit, луч ширины не имеет. используй капсулу.
|
а можешь переделать вот этот кусок с обычным лучом на капсулу, а то я что-то не врубаюсь:
Ray ray = new Ray(transform.position, MyOwnInput.GetCoordinates() - camera.transform.position); RaycastHit hitInfo = new RaycastHit(); if (Physics.Raycast(ray, out hitInfo, 3) == false) {}
|
(Offline)
|
|
04.08.2012, 02:49
|
#563
|
Разработчик
Регистрация: 14.12.2008
Адрес: Томск
Сообщений: 530
Написано 270 полезных сообщений (для 883 пользователей)
|
Ответ: Вопросы от новичка
Сообщение от Hurrit
а можешь переделать вот этот кусок с обычным лучом на капсулу, а то я что-то не врубаюсь.
|
Думаю, вместо капсулы тебе лучше использовать сферу.
Вот:
Ray ray = new Ray(transform.position, MyOwnInput.GetCoordinates() - camera.transform.position); RaycastHit hitInfo = new RaycastHit(); float radius = 1; // "Ширина луча". Радиус сферы. if (Physics.SphereCast(ray, radius, out hitInfo, 3) == false) {}
|
(Offline)
|
|
04.08.2012, 04:50
|
#564
|
Мастер
Регистрация: 27.01.2008
Адрес: Россия, СКФО, ЧР, Грозный
Сообщений: 1,144
Написано 578 полезных сообщений (для 2,207 пользователей)
|
Ответ: Вопросы от новичка
Сообщение от cahekp
Думаю, вместо капсулы тебе лучше использовать сферу.
Вот:
Ray ray = new Ray(transform.position, MyOwnInput.GetCoordinates() - camera.transform.position); RaycastHit hitInfo = new RaycastHit(); float radius = 1; // "Ширина луча". Радиус сферы. if (Physics.SphereCast(ray, radius, out hitInfo, 3) == false) {}
|
дело в том, что мне нужен объект в вытянутой форме
|
(Offline)
|
|
05.08.2012, 13:27
|
#565
|
Разработчик
Регистрация: 14.12.2008
Адрес: Томск
Сообщений: 530
Написано 270 полезных сообщений (для 883 пользователей)
|
Ответ: Вопросы от новичка
Physics.CapsuleCast
using UnityEngine; using System.Collections;
public class example : MonoBehaviour { void Update() { RaycastHit hit; CharacterController charContr = GetComponent<CharacterController>(); Vector3 p1 = transform.position + charContr.center + Vector3.up * -charContr.height * 0.5F; Vector3 p2 = p1 + Vector3.up * charContr.height; if (Physics.CapsuleCast(p1, p2, charContr.radius, transform.forward, out hit, 10)) distanceToObstacle = hit.distance; } }
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
05.08.2012, 22:37
|
#566
|
Легенда
Регистрация: 14.10.2007
Сообщений: 3,878
Написано 2,012 полезных сообщений (для 5,072 пользователей)
|
Ответ: Вопросы от новичка
Народ. Подскажите пожалуйста как на дройде реализовать сохранение\загрузку на скажем 10 слотов. Везде говорят о PlayerPrefs, но инфы как это заюзать очень мало.
UPD: Есть такая идея - сохранять все данные в строковую переменную и от 1 до 10 по выбору через PlayerPrefs. Потом парсить при загрузке данные. Благо в игре не требуется сохранение абсолютно всего.
Хотя классическое сохранение в файл бы подошло лучше).
|
(Offline)
|
|
06.08.2012, 00:15
|
#567
|
Unity/C# кодер
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений (для 5,323 пользователей)
|
Ответ: Вопросы от новичка
Буквально на той неделе переписал пример работы с Ini на PlayerPrefs
using System.Collections.Generic; using System.Text; using UnityEngine;
public class Ini { public static void Save(string key, Dictionary<string, string> data) { StringBuilder sb = new StringBuilder();
foreach (KeyValuePair<string, string> keyValuePair in data) { sb.AppendLine(keyValuePair.Key + "=" + keyValuePair.Value); }
PlayerPrefs.SetString(key, sb.ToString()); }
public static Dictionary<string, string> Load(string key) { Dictionary<string, string> data = new Dictionary<string, string>();
string[] lines = PlayerPrefs.GetString(key).Split(new char[]{'\r','\n'});
foreach (string line in lines) { string dataString = line.Trim();
if (string.IsNullOrEmpty(dataString)) continue;
if (dataString.StartsWith(";")) continue;
if (dataString.Contains("=")) { int pos = dataString.IndexOf("=");
string valueKey = dataString.Substring(0, pos).Trim(); string value = ""; if ((pos + 1) < dataString.Length) { value = dataString.Substring(pos + 1, dataString.Length - pos - 1).Trim(); } data.Add(valueKey, value); }
} return data; } }
Пример использования:
//Сохранение var data = new Dictionary<string, string>(); data.Add("Key1","Value1"); Ini.Save("GameSave", data);
//загрузка data = Ini.Load("GameSave"); var Value1 = data["Key1"];
Правда PlayerPrefs это и есть простейший ini с поддержкой сохранения целых чисел и флоатов кроме строк. А пример выше - ini в ini ))
PS: На днях поковыряю дроид на счет сохранения файлов, отпишусь.
|
(Offline)
|
|
Эти 2 пользователя(ей) сказали Спасибо pax за это полезное сообщение:
|
|
06.08.2012, 14:55
|
#568
|
Легенда
Регистрация: 14.10.2007
Сообщений: 3,878
Написано 2,012 полезных сообщений (для 5,072 пользователей)
|
Ответ: Вопросы от новичка
Посоны. Я прошу прощения за свою тупость. Файл сохраняется там же где и кэш, то есть - Android\Data\com.anyappname.company.
|
(Offline)
|
|
06.08.2012, 15:04
|
#569
|
Unity/C# кодер
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений (для 5,323 пользователей)
|
Ответ: Вопросы от новичка
Сообщение от Gector
Посоны. Я прошу прощения за свою тупость. Файл сохраняется там же где и кэш, то есть - Android\Data\com.anyappname.company.
|
Значит туда Application.persistentDataPath указывал)
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
06.08.2012, 15:06
|
#570
|
Легенда
Регистрация: 14.10.2007
Сообщений: 3,878
Написано 2,012 полезных сообщений (для 5,072 пользователей)
|
Ответ: Вопросы от новичка
Сообщение от pax
Значит туда Application.persistentDataPath указывал)
|
Именно). У меня она не читалась потом из-за того что persistentDataPath убрал из адреса. Теперь осталось поковырять его на тему чтения\записи - и вперед).
|
(Offline)
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 06:32.
|