Воскресенье, 21 Сентября 2025, 20:28

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

[ Новые сообщения · Игроделы · Правила · Поиск ]
Результаты поиска
MANMANAДата: Среда, 15 Апреля 2015, 15:21 | Сообщение # 361 | Тема: Вопрос-[ответ] по Unity
почти ветеран
Сейчас нет на сайте
не, не, не...
кто учится, я или Вы?:)


http://www.3dbuffer.com/ Текстуры, Unity3D, Blender: Эффекты, скрипты, моделирование, текстурирование, скульптинг
VKонтакте 3Dbuffer

Последнее:

Новый раздел "Текстуры"

Как запатентовать, защитить техническое решение, игру, идею
MANMANAДата: Вторник, 14 Апреля 2015, 21:04 | Сообщение # 362 | Тема: Вопрос-[ответ] по Unity
почти ветеран
Сейчас нет на сайте
как-то все это мудрено. по-хорошему разбираться в коде нужно... smile

http://www.3dbuffer.com/ Текстуры, Unity3D, Blender: Эффекты, скрипты, моделирование, текстурирование, скульптинг
VKонтакте 3Dbuffer

Последнее:

Новый раздел "Текстуры"

Как запатентовать, защитить техническое решение, игру, идею
MANMANAДата: Вторник, 14 Апреля 2015, 19:28 | Сообщение # 363 | Тема: Вопрос-[ответ] по Unity
почти ветеран
Сейчас нет на сайте
Цитата Pe4enka ()
Еще вопрос... Как удалить с инвентаря допустим оружие, но чтобы оно выкинулось вперед и можно было снова подобрать ? Почему то не могу сделать (

нуу, батенька, не первый день на форуме же... как я могу ванговать?
A. Как он у вас запихувается в инвентарь?
у вас есть ГО (инстанс префаба на сцене)
(i) из пула объектов?
(ii) инстанциируется каждый раз из префаба, например, в момент гибели врага, открытия сундука и т.д.?
(iii) как-то еще, например, сложена куча объектов в координатах (100000, 100000, 100000), а вы перетаскиваете их в место, где они должны появиться при той же гибели врага

B. когда вы подходите к объекту и нажимаете кнопку, соответствующую "Хапнуть шмот", то
(i) ГО возвращается в пул объектов
(ii) ГО удаляется через Delete(ГО);
(iii) ГО перемещается в дефолтные координаты (100000, 100000, 100000)
и добавляете запись в List/Array

Вы можете создать для пула объектов (i), для префабов (ii) для объектов в координатах (iii) их описание, например, БД с ними и их характеристиками, и при необходимости выкладывания ГО брать ID ГО и выполнять действия в п. A,
причем касательно ВЫБРОСА ГО следует ГО назначить координаты игрока (или рядом с ним в случае использования физики, чтобы ГО не застрял в игроке, или коллайдер игрока не отбросил коллайдер ГО вместе с его коллайдером :)) с соответствующей позицией по Y, которая может быть взята из координаты Y персонажа (все зависит от того, где находится pivot point меша игрока), или м.б. использован RayCast вертикально вниз, чтобы определить точку пересечения с террейном.
И.... назначить ГО вычисленные координаты.
Можете задать ГО импульс вперед. Перед - есть вектор forward персонажа. минус forward сделает из игрока серебряное копытце, ну... или подходит для выброса кирпичей очень испуганным персонажем...


http://www.3dbuffer.com/ Текстуры, Unity3D, Blender: Эффекты, скрипты, моделирование, текстурирование, скульптинг
VKонтакте 3Dbuffer

Последнее:

Новый раздел "Текстуры"

Как запатентовать, защитить техническое решение, игру, идею


Сообщение отредактировал MANMANA - Вторник, 14 Апреля 2015, 19:41
MANMANAДата: Вторник, 14 Апреля 2015, 16:38 | Сообщение # 364 | Тема: Вопрос-[ответ] по Unity
почти ветеран
Сейчас нет на сайте
ага... там объявлено пространство имен
Код
namespace UnitySampleAssets.Characters.FirstPerson{...
.
ну, хотите использовать это пространство имен, то используйте по аналогии с
using UnityEngine;
using System.Collections;

в своем скрипте
удалите нафик
Код
namespace UnitySampleAssets.Characters.FirstPerson{...

(закрывающую скобочку удалить тоже не забудьте)
и поставьте после
using System.Collections;

вот так: using UnitySampleAssets.Characters.FirstPerson;

и тогда Вы сможете достучаться до любой функции скрипта FirstPerson

Метод попроще: просто писать
Код
UnitySampleAssets.Characters.FirstPerson.__названиефункции____
каждый раз при обращении к той или иной функции

например, UnitySampleAssets.Characters.FirstPerson.m_FovKick();

и тогда мне непонятно, зачем Вам потребовалась вот это
Код
GetComponent<FirstPerson>().enabled=true;// Не могу обратиться вот в этой строчке
это какой-то Ваш скрипт?

Добавлено (14 апреля 2015, 16:38)
---------------------------------------------
или Вы вот это прочитали?


http://www.3dbuffer.com/ Текстуры, Unity3D, Blender: Эффекты, скрипты, моделирование, текстурирование, скульптинг
VKонтакте 3Dbuffer

Последнее:

Новый раздел "Текстуры"

Как запатентовать, защитить техническое решение, игру, идею
MANMANAДата: Вторник, 14 Апреля 2015, 14:00 | Сообщение # 365 | Тема: Вопрос-[ответ] по Unity
почти ветеран
Сейчас нет на сайте
Цитата Pe4enka ()
MANMANA, Я сам пока не понимаю зачем это,но судя из гугла и Англоязычных форумов это есть решение, по сути я хочу получить доступ к скрипту First Person Controller(который ввели в Unity 5 ), но в public его нет, да и других способов чтобы его откопать я не знаю (

кинь скрин, пожалуйста, с новым контроллером на C# (где он находится, как выглядят первые стройки кода). а то я тебе писал на предыдущей странице, но я так и не понял, к чему ты хочешь достучаться... smile раз тебе не подошел код, который я предлагал.


http://www.3dbuffer.com/ Текстуры, Unity3D, Blender: Эффекты, скрипты, моделирование, текстурирование, скульптинг
VKонтакте 3Dbuffer

Последнее:

Новый раздел "Текстуры"

Как запатентовать, защитить техническое решение, игру, идею
MANMANAДата: Понедельник, 13 Апреля 2015, 23:07 | Сообщение # 366 | Тема: Ограничение поворота обьекта
почти ветеран
Сейчас нет на сайте
Цитата Artemoid ()
Как сделать так, чтобы она была не конкретно этого значения?

все в коде и даже с комментариями
Цитата Artemoid ()
float yLimit = 20.0f;//максимум/минимум верх-низ

можно эту строку заменить на
Код
float yLimitUp = 40.0f;
float yLimitDown = 20.0f;

а вот эту строку
Код
rot.x = Mathf.Clamp(rot.x + h, -yLimit, yLimit);//записываем в переменную rot (а точне в ее х-часть) значение, ограниченное минимум и максимумом

на
Код
rot.x = Mathf.Clamp(rot.x + h, -yLimitDown, yLimitUp);//записываем в переменную rot (а точне в ее х-часть) значение, ограниченное минимум и максимумом


http://www.3dbuffer.com/ Текстуры, Unity3D, Blender: Эффекты, скрипты, моделирование, текстурирование, скульптинг
VKонтакте 3Dbuffer

Последнее:

Новый раздел "Текстуры"

Как запатентовать, защитить техническое решение, игру, идею


Сообщение отредактировал MANMANA - Понедельник, 13 Апреля 2015, 23:09
MANMANAДата: Понедельник, 13 Апреля 2015, 22:32 | Сообщение # 367 | Тема: Вопрос-[ответ] по Unity
почти ветеран
Сейчас нет на сайте
Цитата Pe4enka ()
MANMANA, Что-то не помогает (

Стоп, а чей-то вы хотите этим сделать¿
namespace UnitySampleAssets.Characters.FirstPerson
Вы создаете пространство имен с таким именем? Страаанное название. А если назвать namespac firstPers
http://docs.unity3d.com/ru/current/Manual/Namespaces.html
Или ты собираешься использовать это пространство?

Добавлено (13 апреля 2015, 22:32)
---------------------------------------------
Это UnitySampleAssets.Characters. зачем?
По аналогии с using System.Collection?
Обратите внимание на первый пример из https://msdn.microsoft.com/ru-ru/library/z2kcy19k.aspx


http://www.3dbuffer.com/ Текстуры, Unity3D, Blender: Эффекты, скрипты, моделирование, текстурирование, скульптинг
VKонтакте 3Dbuffer

Последнее:

Новый раздел "Текстуры"

Как запатентовать, защитить техническое решение, игру, идею
MANMANAДата: Понедельник, 13 Апреля 2015, 21:46 | Сообщение # 368 | Тема: Ограничение поворота обьекта
почти ветеран
Сейчас нет на сайте
Цитата Artemoid ()
Интересно) но обьект так и ломится смотреть вперёд(зависит от другого обьекта который крутится) и как исправить? Я так и не могу понять почему он так делает..почему же?

может, нужно смотреть и читать уроки?
скрипт рабочий, я у себя тестил на камере. а вот что там у Вас еще от чего зависит я не знаю.


http://www.3dbuffer.com/ Текстуры, Unity3D, Blender: Эффекты, скрипты, моделирование, текстурирование, скульптинг
VKонтакте 3Dbuffer

Последнее:

Новый раздел "Текстуры"

Как запатентовать, защитить техническое решение, игру, идею
MANMANAДата: Понедельник, 13 Апреля 2015, 20:08 | Сообщение # 369 | Тема: Ограничение поворота обьекта
почти ветеран
Сейчас нет на сайте
Код
using UnityEngine;
using System.Collections;

public class CamMove : MonoBehaviour {

float verticalSpeed = 2.0F;
Vector3 rot;//объявляем переменную для хранения текущей ориентации ГО в углах Эйлера
float yLimit = 20.0f;//максимум/минимум верх-низ

//[url=http://docs.unity3d.com/ScriptReference/Mathf.Clamp.html]Mathf.Clamp[/url] функция, ограничивающая значение переменной максимумом и минимумом
void Start()
{
rot = transform.eulerAngles;//сохраняем в rot текущую ориентацию (угол наклона) камеры в углах Эйлера
}
void Update ()
{
float h = - verticalSpeed * Input.GetAxis("Mouse Y");//записываем в переменную изменение угла наклона камеры в зависимости от положения мыши по оси Y
rot.x = Mathf.Clamp(rot.x + h, -yLimit, yLimit);//записываем в переменную rot (а точне в ее х-часть) значение, ограниченное минимум и максимумом
transform.eulerAngles = rot;//устанавливаем новую ориентацию ГО в углах Эйлера

}
}


transform.eulerAngles
Mathf.Clamp функция, ограничивающая значение переменной максимумом и минимумом


http://www.3dbuffer.com/ Текстуры, Unity3D, Blender: Эффекты, скрипты, моделирование, текстурирование, скульптинг
VKонтакте 3Dbuffer

Последнее:

Новый раздел "Текстуры"

Как запатентовать, защитить техническое решение, игру, идею


Сообщение отредактировал MANMANA - Понедельник, 13 Апреля 2015, 20:08
MANMANAДата: Понедельник, 13 Апреля 2015, 17:22 | Сообщение # 370 | Тема: Движение объектов по орбитам
почти ветеран
Сейчас нет на сайте
Цитата HPlusDiese ()
1) А как мне рассчитать расстояние учитывая правильные пропорции? Как мне...


mercury.transform.position = new Vector3 (5.79f,1.0f,0.0f);//стартовая позиция Меркурия и т.д. (расстояние от Солнца *10 млн км)

5.79*10 = 57,9 млн км до солнца. открой интернет и проверь эту цифру для Меркурия. Для остальных также. Это все есть в комментариях к коду. 5.79 - это в единицах Юнити. По-умолчанию 1 Unity-единица равна 1 метру.

Цитата DebieCooper ()
2) Можно подробней про то как работают эти методы?

transform.RotateAround
transform.Rotate
transform.position
void Start ()
void Update()

Цитата HPlusDiese ()
3) А можно как-нибудь сделать так, чтобы я менять скорость "игры" и все объекты подчинялись. Например, по дефолту я сделал так что все объекты имеют такое же время обращения вокруг солнца.Год, для земли например. А потом меняя одно значение я ускоряю этот период.

перед стартом public float coeffSpeed;

в Start
coeffSpeed = 100.0f;//теперь можно в инспекторе менять скорость вращения планет, но только перед нажатием кнопки play
periodMercury = coeffSpeed * 87.969f/baseMercuryPeriod;
periodVenus = coeffSpeed * 224.7f/baseMercuryPeriod;
periodEarth = coeffSpeed * 365.26f/baseMercuryPeriod;

если хочется менять скорость по ходу работы приложения, поставь эти четыре строки сразу после Update(){ или просто скопируй

Цитата DebieCooper ()
4) Как мне регулировать скорость вращения вокруг своей оси?)

mercury.transform.Rotate (Vector3.up * coeff * Time.deltaTime);//вращаем Марс вокруг собственной оси
т.е. даже комментарии в коде читать не хотим
Цитата MANMANA ()
private float coeff = 50.0f;//период обращения планет вокруг собственных осей. здесь - один для всех. можно поставить разный

назови это скоростью вращения вокруг собственной оси

Цитата DebieCooper ()
5) Как мне настроить, чтобы меркурий реально вращался вокруг солнца со скоростью: 1 оборот за 88 дней?)

хрена се ты долгожитель... приходи через 2,5 месяца, скажешь - правильно работает или нет...
все планеты вращаются с условными периодами обращения, взятыми из энциклопии (можешь проверить):
Цитата MANMANA ()
periodMercury = 87.969f/baseMercuryPeriod;//=1
periodVenus = 224.7f/baseMercuryPeriod;
periodEarth = 365.26f/baseMercuryPeriod;

в секунды переведи все это сам уж...
если хочешь сделать шкалу времени 1:1, то почитай про Time.deltaTime, тогда тебе станет понятна запись
Цитата DebieCooper ()
mercury.transform.RotateAround(Vector3.zero, Vector3.up, 10 * periodMercury *Time.deltaTime);//вращаем Меркурий вокруг Солнца

10*-ку я поставил, чтобы не ждать пару минут, когда планеты обернутся хотя бы раз вокруг солнца


http://www.3dbuffer.com/ Текстуры, Unity3D, Blender: Эффекты, скрипты, моделирование, текстурирование, скульптинг
VKонтакте 3Dbuffer

Последнее:

Новый раздел "Текстуры"

Как запатентовать, защитить техническое решение, игру, идею


Сообщение отредактировал MANMANA - Понедельник, 13 Апреля 2015, 17:24
MANMANAДата: Понедельник, 13 Апреля 2015, 16:50 | Сообщение # 371 | Тема: Вопрос-[ответ] по Unity
почти ветеран
Сейчас нет на сайте
здесь ты объявил FirstPerson пространством имен
Цитата Pe4enka ()
namespace UnitySampleAssets.Characters.FirstPerson{

а здесь ты уже обращаешься к компоненту, но откуда же Юньке знать, что ты имеешь ввиду компонент, а не пространство имен?

Цитата Pe4enka ()
GetComponent<FirstPerson>().enabled=true;// Не могу обратиться вот в этой строчке


Переназови UnitySampleAssets.Characters.FirstPerson как UnitySampleAssets.Characters.FirstPersonAss , например. или UnitySampleAssets.Characters.FirstPersonAsset

Вот подобная ошибка http://answers.unity3d.com/questions/240864/cs0118-error.html


http://www.3dbuffer.com/ Текстуры, Unity3D, Blender: Эффекты, скрипты, моделирование, текстурирование, скульптинг
VKонтакте 3Dbuffer

Последнее:

Новый раздел "Текстуры"

Как запатентовать, защитить техническое решение, игру, идею
MANMANAДата: Понедельник, 13 Апреля 2015, 11:03 | Сообщение # 372 | Тема: Пещеры и модели [Решено]
почти ветеран
Сейчас нет на сайте
Это как из анекдота... а зачем тогда <strike>пукать</strike>... Блендер?
Ставь в Юньке материал на модель и она примет таки цвет модели.
Ах, да, я знаю, заечм Блендер нужен: чтобы мутьтитекстуры...
я на турбосквиде, например, встретил вот такой сборник моделей http://www.turbosquid.com/FullPreview/Index.cfm/ID/203851 без разверток (за все не скажу, но один барак точно состоит из 7 материалов, а дальше я и смотреть не стал)... smile


http://www.3dbuffer.com/ Текстуры, Unity3D, Blender: Эффекты, скрипты, моделирование, текстурирование, скульптинг
VKонтакте 3Dbuffer

Последнее:

Новый раздел "Текстуры"

Как запатентовать, защитить техническое решение, игру, идею
MANMANAДата: Понедельник, 13 Апреля 2015, 02:46 | Сообщение # 373 | Тема: Движение объектов по орбитам
почти ветеран
Сейчас нет на сайте
Цитата DebieCooper ()
П.С. Только картинка не отображается ваша)

крикните, у кого еще не отображается, а то у меня все отображается


http://www.3dbuffer.com/ Текстуры, Unity3D, Blender: Эффекты, скрипты, моделирование, текстурирование, скульптинг
VKонтакте 3Dbuffer

Последнее:

Новый раздел "Текстуры"

Как запатентовать, защитить техническое решение, игру, идею
MANMANAДата: Понедельник, 13 Апреля 2015, 02:46 | Сообщение # 374 | Тема: Вопрос-[ответ] по Unity
почти ветеран
Сейчас нет на сайте
Цитата Pe4enka ()
, эта ошибка все испортила, она появляется когда в инвентарь ложиться более 1-ой вещи в момент открытия инвентаря... Как решать я не знаю, поэтому пришел за помощью в очередной раз.)

а если вместо

Код
    GUILayout.EndVertical();  
    }   
    GUILayout.EndScrollView();  
   }  
   GUILayout.EndArea();  
  

вот так
Код

     GUILayout.EndVertical();  
    }   
   }  
    GUILayout.EndScrollView();  
   GUILayout.EndArea();  
  

т.е. вынести GUILayout.EndScrollView(); за цикл for
Вроде бы, со скобками я не напутал


http://www.3dbuffer.com/ Текстуры, Unity3D, Blender: Эффекты, скрипты, моделирование, текстурирование, скульптинг
VKонтакте 3Dbuffer

Последнее:

Новый раздел "Текстуры"

Как запатентовать, защитить техническое решение, игру, идею
MANMANAДата: Понедельник, 13 Апреля 2015, 02:18 | Сообщение # 375 | Тема: Движение объектов по орбитам
почти ветеран
Сейчас нет на сайте
если орбита устроит не эллиптическая, а в форме окружности, то

создаешь на сцене сферы по размеру планет
создаешь на сцене сферу - солнце, на него вешаешь скрипт
создаешь сферу поменьше для Луны и делаешь ее дочерней к Земле (перетаскиваешь в инспекторе Луну на Землю)

Код
using UnityEngine;
using System.Collections;

public class PlanetsScript : MonoBehaviour {
     //переменные, в которые необходимо перетащить в инспекторе созданные на сцене объекты (сферы, к примеру). создавать объекты можно в любой точке сцены
     public GameObject mercury;
     public GameObject venus;
     public GameObject earth;
     public GameObject moon;
     //public GameObject mars;
     //public GameObject jupiter;
     //public GameObject saturn;
     //public GameObject uranus;
     //public GameObject neptune;
     //public GameObject pluto;
     private float baseMercuryPeriod = 87.969f;//период обращения Меркурия вокруг Солнца
     //Переменные обращения каждой из планет вокруг Солнца в относительных единицах (по отношению к периоду обращения Меркурия вокруг Солнца)
     private float periodMercury;
     private float periodVenus;
     private float periodEarth;
     private float coeff = 50.0f;//период обращения планет вокруг собственных осей. здесь - один для всех. можно поставить разный

     void Start ()
     {
      periodMercury = 87.969f/baseMercuryPeriod;//=1
      periodVenus = 224.7f/baseMercuryPeriod;
      periodEarth = 365.26f/baseMercuryPeriod;
      transform.position = new Vector3 (0.0f,1.0f,0.0f);//стартовая позиция Солнца
      mercury.transform.position = new Vector3 (5.79f,1.0f,0.0f);//стартовая позиция Меркурия и т.д. (расстояние от Солнца *10 млн км)
      venus.transform.position = new Vector3 (10.82f,1.0f,0.0f);
      earth.transform.position = new Vector3 (14.96f,1.0f,0.0f);
      moon.transform.position = new Vector3 (16.0f,1.0f,0.0f);
     }
         
     void Update () {
      transform.RotateAround(Vector3.zero, Vector3.up, 10 * Time.deltaTime);//вращаем Солнышко вокруг собственной оси (нужно ли?). Если нужно, то можно заменить эту строку на transform.Rotate (Vector3.up);
      mercury.transform.RotateAround(Vector3.zero, Vector3.up, 10 * periodMercury *Time.deltaTime);//вращаем Меркурий вокруг Солнца
      mercury.transform.Rotate (Vector3.up * coeff * Time.deltaTime);//вращаем Марс вокруг собственной оси
      venus.transform.RotateAround(Vector3.zero, Vector3.up, 10 * periodVenus * Time.deltaTime);//вращаем Венеру вокруг Солнца
      venus.transform.Rotate (Vector3.up * coeff * Time.deltaTime);//вращаем Венеру вокруг собственной оси
      earth.transform.RotateAround(Vector3.zero, Vector3.up, 10 * periodEarth * Time.deltaTime);//вращаем Землю вокруг Солнца
      earth.transform.Rotate (Vector3.up * coeff * Time.deltaTime);//вращаем Землю вокруг собственной оси
      moon.transform.RotateAround(earth.transform.position, Vector3.up, 10 * periodEarth * Time.deltaTime);//вращаем Луну вокруг Земли
     }
}


В инспекторе перетаскиваешь созданные планеты сферы в соответствующие слоты скрипта.
Вуаля.

тот маленький звезденыш около земли - это Луна.


http://www.3dbuffer.com/ Текстуры, Unity3D, Blender: Эффекты, скрипты, моделирование, текстурирование, скульптинг
VKонтакте 3Dbuffer

Последнее:

Новый раздел "Текстуры"

Как запатентовать, защитить техническое решение, игру, идею


Сообщение отредактировал MANMANA - Понедельник, 13 Апреля 2015, 02:20
MANMANAДата: Воскресенье, 12 Апреля 2015, 23:28 | Сообщение # 376 | Тема: Движение объектов по орбитам
почти ветеран
Сейчас нет на сайте
первый скрипт от Scribe рисует красивую траекторию через LineRenderer
http://answers.unity3d.com/questio....it.html, причем есть настройки траектории


http://www.3dbuffer.com/ Текстуры, Unity3D, Blender: Эффекты, скрипты, моделирование, текстурирование, скульптинг
VKонтакте 3Dbuffer

Последнее:

Новый раздел "Текстуры"

Как запатентовать, защитить техническое решение, игру, идею


Сообщение отредактировал MANMANA - Воскресенье, 12 Апреля 2015, 23:29
MANMANAДата: Воскресенье, 12 Апреля 2015, 18:05 | Сообщение # 377 | Тема: Наложение несколько текстур на объект
почти ветеран
Сейчас нет на сайте
прожектор, декали, шейдер, в который загружаются две текстуры (вторая - ваши трещины с прозрачным фоном)
либо смешивание текстур на хабре

http://answers.unity3d.com/questio....sh.html
http://stackoverflow.com/questio....unity3d


http://www.3dbuffer.com/ Текстуры, Unity3D, Blender: Эффекты, скрипты, моделирование, текстурирование, скульптинг
VKонтакте 3Dbuffer

Последнее:

Новый раздел "Текстуры"

Как запатентовать, защитить техническое решение, игру, идею
MANMANAДата: Воскресенье, 12 Апреля 2015, 13:00 | Сообщение # 378 | Тема: Не работают скрипты, ВСЕ!
почти ветеран
Сейчас нет на сайте
Вам же говорили начинать с обучалок
Вот ссылки на статьи участников форума:

http://gcup.ru/publ....1-0-374
http://gcup.ru/publ....1-0-376
http://gcup.ru/publ....1-0-487
http://gcup.ru/publ....1-0-489
http://gcup.ru/publ....1-0-493


http://www.3dbuffer.com/ Текстуры, Unity3D, Blender: Эффекты, скрипты, моделирование, текстурирование, скульптинг
VKонтакте 3Dbuffer

Последнее:

Новый раздел "Текстуры"

Как запатентовать, защитить техническое решение, игру, идею
MANMANAДата: Воскресенье, 12 Апреля 2015, 09:15 | Сообщение # 379 | Тема: Пещеры и модели [Решено]
почти ветеран
Сейчас нет на сайте
Цитата Spaceship ()
Здравствуйте! Меня давно мучает вопрос~ как делать пещеры, и с помощью ли ассета можно делать их? И можно ли в юнити поставить модель и затекстурить ее уже в движке, а не в Blender.

можно. можно с помощью ассетов TexturePaint; можно с помощью самописного кода для редактора, например, реализовав вот такое Смешивание текстур ландшафта, но для меша, или использовав уже готовый ассет, написанный для террейна авторами упомянутой статьи.


http://www.3dbuffer.com/ Текстуры, Unity3D, Blender: Эффекты, скрипты, моделирование, текстурирование, скульптинг
VKонтакте 3Dbuffer

Последнее:

Новый раздел "Текстуры"

Как запатентовать, защитить техническое решение, игру, идею


Сообщение отредактировал MANMANA - Воскресенье, 12 Апреля 2015, 09:15
MANMANAДата: Пятница, 10 Апреля 2015, 18:06 | Сообщение # 380 | Тема: Вопрос-[ответ] по Unity
почти ветеран
Сейчас нет на сайте
Цитата Pe4enka ()
NEBR, Не должно, но оно есть...


Вызываемая функция RemoveItem у вас не удаляет элемент массива, а лишь делает его значение равным null.
Если вы хотите удалить элемент массива, то вот здесь
Код
public void RemoveItem(Item item){  
for(int i=0; i < Items.Count; i++){  
if(Items[i]==item){    
Items[i]=null;     
}  
}  
}

вместо Items[i]=null; вам стоит использовать Items.RemoveAt(i); (у вас же есть вызов этой функции листа в вашей функции "public void Remove(Item item)", правда ваша функция нигде не вызывается в листинге вашего файла)

Приравнивать Items[i]=null; - дохлый номер, поскольку для T (Объекта коллекции List<T>) для ссылочных типов допускается значение null, т.е. не является способом удаления элемента листа.

Цитата Pe4enka ()
Особенно заметно когда в инвент добавляется новая вещь, она идет не в эту пустую клетку, а в следующую. Т.е, первая клетка пустая, затем клетка не пустая...

List<T>.Add - метод, добавляющий объект в конец коллекции List<T>.

Добавлено (10 апреля 2015, 18:06)
---------------------------------------------
p.s. бойтесь одинаковых значений, передаваемых в и обрабатываемых вашей функцией RemoveItem, поскольку при таком вашем подходе

Код
public void RemoveItem(Item item){   
for(int i=0; i < Items.Count; i++){   
if(Items[i]==item){     
Items[i]=null;      
}   
}   
}


если в List'е содержится несколько элементов с одинаковыми значениями, например, "молоток элитный 80lvl rangers only", то обнулятся все эти молотки.
и использование приведенного выше Items.RemoveAt(i); (для удаления, а не обнуления) еще и удалит элементы листа с одинаковыми значениями.


http://www.3dbuffer.com/ Текстуры, Unity3D, Blender: Эффекты, скрипты, моделирование, текстурирование, скульптинг
VKонтакте 3Dbuffer

Последнее:

Новый раздел "Текстуры"

Как запатентовать, защитить техническое решение, игру, идею


Сообщение отредактировал MANMANA - Пятница, 10 Апреля 2015, 17:59
Поиск:

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