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

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

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

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

Ответ
 
Опции темы
Старый 03.08.2012, 18:56   #556
Gector
Легенда
 
Аватар для Gector
 
Регистрация: 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
WISHMASTER35
Бывалый
 
Аватар для WISHMASTER35
 
Регистрация: 21.12.2008
Адрес: UA
Сообщений: 878
Написано 105 полезных сообщений
(для 357 пользователей)
Ответ: Вопросы от новичка

почему она не предназначена для сохранения?
а тебе во время самой игры надо сохранять? не понял почему во время игры не рекомендовано сохранять.
(Offline)
 
Ответить с цитированием
Старый 03.08.2012, 19:34   #558
Gector
Легенда
 
Аватар для Gector
 
Регистрация: 14.10.2007
Сообщений: 3,878
Написано 2,012 полезных сообщений
(для 5,072 пользователей)
Ответ: Вопросы от новичка

Сообщение от WISHMASTER35 Посмотреть сообщение
почему она не предназначена для сохранения?
а тебе во время самой игры надо сохранять? не понял почему во время игры не рекомендовано сохранять.
Я как понимаю это для восстановления игры в особо хардкорных случаях).
Тем более, что загрузка через обычный файл более гибкая.

Кстати говоря опять не получилось. Может я не все знаю об андройдовской ФС? Теоретически - что может быть не так? Код ведь прост как две копейки.
(Offline)
 
Ответить с цитированием
Старый 03.08.2012, 19:47   #559
Hurrit
Мастер
 
Аватар для Hurrit
 
Регистрация: 27.01.2008
Адрес: Россия, СКФО, ЧР, Грозный
Сообщений: 1,144
Написано 578 полезных сообщений
(для 2,207 пользователей)
Ответ: Вопросы от новичка

посоны, есть ли какая нибудь возможность как нибудь регулировать ширину луча?
(Offline)
 
Ответить с цитированием
Старый 03.08.2012, 20:00   #560
WISHMASTER35
Бывалый
 
Аватар для WISHMASTER35
 
Регистрация: 21.12.2008
Адрес: UA
Сообщений: 878
Написано 105 полезных сообщений
(для 357 пользователей)
Ответ: Вопросы от новичка

Gector, ну для сохранения счета и кол-ва пройденных уровней подойдет. для сохранения больших данных врядли т.к. туда кажется массив байт(файл) не запишешь.
ты только на андроиде в корне папок не создавай, а то от других игр уже и так куча мусора в корне. что-то нужное среди них херь найдешь.

Hurrit, луч ширины не имеет. используй капсулу.
(Offline)
 
Ответить с цитированием
Старый 03.08.2012, 20:12   #561
Gector
Легенда
 
Аватар для Gector
 
Регистрация: 14.10.2007
Сообщений: 3,878
Написано 2,012 полезных сообщений
(для 5,072 пользователей)
Ответ: Вопросы от новичка

Сообщение от WISHMASTER35 Посмотреть сообщение
Gector, ну для сохранения счета и кол-ва пройденных уровней подойдет. для сохранения больших данных врядли т.к. туда кажется массив байт(файл) не запишешь.
ты только на андроиде в корне папок не создавай, а то от других игр уже и так куча мусора в корне. что-то нужное среди них херь найдешь.
Про корень я знаю).
А вот на счет сохранения это смотря как сохранять. Абсолютно все сохранять это вообще не вариант.
Тут в принципе еще проще. Повесил на объект скрипт для сохранения и все дела. Только надо разобраться как эти файлы создавать. Может я его найти не могу по какой то другой причине...
(Offline)
 
Ответить с цитированием
Старый 03.08.2012, 23:07   #562
Hurrit
Мастер
 
Аватар для Hurrit
 
Регистрация: 27.01.2008
Адрес: Россия, СКФО, ЧР, Грозный
Сообщений: 1,144
Написано 578 полезных сообщений
(для 2,207 пользователей)
Ответ: Вопросы от новичка

Сообщение от WISHMASTER35 Посмотреть сообщение
Hurrit, луч ширины не имеет. используй капсулу.
а можешь переделать вот этот кусок с обычным лучом на капсулу, а то я что-то не врубаюсь:

Ray ray = new Ray(transform.positionMyOwnInput.GetCoordinates() - camera.transform.position);
RaycastHit hitInfo = new RaycastHit();

if (
Physics.Raycast(rayout hitInfo3) == false)
{} 
(Offline)
 
Ответить с цитированием
Старый 04.08.2012, 02:49   #563
cahekp
Разработчик
 
Аватар для cahekp
 
Регистрация: 14.12.2008
Адрес: Томск
Сообщений: 530
Написано 270 полезных сообщений
(для 883 пользователей)
Ответ: Вопросы от новичка

Сообщение от Hurrit Посмотреть сообщение
а можешь переделать вот этот кусок с обычным лучом на капсулу, а то я что-то не врубаюсь.
Думаю, вместо капсулы тебе лучше использовать сферу.
Вот:
Ray ray = new Ray(transform.positionMyOwnInput.GetCoordinates() - camera.transform.position);
RaycastHit hitInfo = new RaycastHit();
float radius 1// "Ширина луча". Радиус сферы.

if (Physics.SphereCast(rayradiusout hitInfo3) == false)
{} 
__________________
(Offline)
 
Ответить с цитированием
Старый 04.08.2012, 04:50   #564
Hurrit
Мастер
 
Аватар для Hurrit
 
Регистрация: 27.01.2008
Адрес: Россия, СКФО, ЧР, Грозный
Сообщений: 1,144
Написано 578 полезных сообщений
(для 2,207 пользователей)
Ответ: Вопросы от новичка

Сообщение от cahekp Посмотреть сообщение
Думаю, вместо капсулы тебе лучше использовать сферу.
Вот:
Ray ray = new Ray(transform.positionMyOwnInput.GetCoordinates() - camera.transform.position);
RaycastHit hitInfo = new RaycastHit();
float radius 1// "Ширина луча". Радиус сферы.

if (Physics.SphereCast(rayradiusout hitInfo3) == false)
{} 
дело в том, что мне нужен объект в вытянутой форме
(Offline)
 
Ответить с цитированием
Старый 05.08.2012, 13:27   #565
cahekp
Разработчик
 
Аватар для cahekp
 
Регистрация: 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(p1p2charContr.radiustransform.forwardout hit10))
            
distanceToObstacle hit.distance;
        
    }

__________________
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Hurrit (05.08.2012)
Старый 05.08.2012, 22:37   #566
Gector
Легенда
 
Аватар для Gector
 
Регистрация: 14.10.2007
Сообщений: 3,878
Написано 2,012 полезных сообщений
(для 5,072 пользователей)
Ответ: Вопросы от новичка

Народ. Подскажите пожалуйста как на дройде реализовать сохранение\загрузку на скажем 10 слотов. Везде говорят о PlayerPrefs, но инфы как это заюзать очень мало.
UPD: Есть такая идея - сохранять все данные в строковую переменную и от 1 до 10 по выбору через PlayerPrefs. Потом парсить при загрузке данные. Благо в игре не требуется сохранение абсолютно всего.
Хотя классическое сохранение в файл бы подошло лучше).
(Offline)
 
Ответить с цитированием
Старый 06.08.2012, 00:15   #567
pax
Unity/C# кодер
 
Аватар для pax
 
Регистрация: 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 keyDictionary<stringstringdata)
    {
        
StringBuilder sb = new StringBuilder();

        foreach (
KeyValuePair<stringstringkeyValuePair in data)
        {
            
sb.AppendLine(keyValuePair.Key "=" keyValuePair.Value);
        }

        
PlayerPrefs.SetString(keysb.ToString());
    }

    public static 
Dictionary<stringstringLoad(string key)
    {
        
Dictionary<stringstringdata = new Dictionary<stringstring>();

        
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(0pos).Trim();
                
string value "";
                if ((
pos 1) < dataString.Length)
                {
                    
value dataString.Substring(pos 1dataString.Length pos 1).Trim();
                }
                
data.Add(valueKeyvalue);
            }

        }
        return 
data;
    }

Пример использования:
//Сохранение
var data = new Dictionary<stringstring>();
data.Add("Key1","Value1");
Ini.Save("GameSave"data);

//загрузка
data Ini.Load("GameSave");
var 
Value1 data["Key1"]; 
Правда PlayerPrefs это и есть простейший ini с поддержкой сохранения целых чисел и флоатов кроме строк. А пример выше - ini в ini ))

PS: На днях поковыряю дроид на счет сохранения файлов, отпишусь.
__________________
Blitz3d to Unity Wiki
(Offline)
 
Ответить с цитированием
Эти 2 пользователя(ей) сказали Спасибо pax за это полезное сообщение:
Gector (06.08.2012), WISHMASTER35 (06.08.2012)
Старый 06.08.2012, 14:55   #568
Gector
Легенда
 
Аватар для Gector
 
Регистрация: 14.10.2007
Сообщений: 3,878
Написано 2,012 полезных сообщений
(для 5,072 пользователей)
Ответ: Вопросы от новичка

Посоны. Я прошу прощения за свою тупость. Файл сохраняется там же где и кэш, то есть - Android\Data\com.anyappname.company.
(Offline)
 
Ответить с цитированием
Старый 06.08.2012, 15:04   #569
pax
Unity/C# кодер
 
Аватар для pax
 
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений
(для 5,323 пользователей)
Ответ: Вопросы от новичка

Сообщение от Gector Посмотреть сообщение
Посоны. Я прошу прощения за свою тупость. Файл сохраняется там же где и кэш, то есть - Android\Data\com.anyappname.company.
Значит туда Application.persistentDataPath указывал)
__________________
Blitz3d to Unity Wiki
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Gector (06.08.2012)
Старый 06.08.2012, 15:06   #570
Gector
Легенда
 
Аватар для Gector
 
Регистрация: 14.10.2007
Сообщений: 3,878
Написано 2,012 полезных сообщений
(для 5,072 пользователей)
Ответ: Вопросы от новичка

Сообщение от pax Посмотреть сообщение
Значит туда Application.persistentDataPath указывал)
Именно). У меня она не читалась потом из-за того что persistentDataPath убрал из адреса. Теперь осталось поковырять его на тему чтения\записи - и вперед).
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

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

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


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


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