Результаты поиска
| |
MANMANA | Дата: Понедельник, 06 Апреля 2015, 10:35 | Сообщение # 481 | Тема: Как избавиться от таких чисел в Transform в Инспекторе ? |
почти ветеран
Сейчас нет на сайте
| я бы попробовал так
Код using UnityEngine; using UnityEditor; using System.Collections;
[CustomEditor(typeof(Transform))]
public class Allign : Editor { Transform obj;
void Awake() { obj = target as Transform; } void OnSceneGUI () { if(obj.transform.position.x < (1.0e-05) && obj.transform.position.x > (-1.0e-05)) obj.transform.position = new Vector3(0,obj.transform.position.y,obj.transform.position.z); if(obj.transform.position.y < (1.0e-05) && obj.transform.position.y > (-1.0e-05)) obj.transform.position = new Vector3(obj.transform.position.x,0,obj.transform.position.z); if(obj.transform.position.z < (1.0e-05) && obj.transform.position.z > (-1.0e-05)) obj.transform.position = new Vector3(obj.transform.position.x,obj.transform.position.y,0); } }
код не тестил именно для e-0... ввиду отсутствия таковых в текущих проектах. для обычных значений работает, причем для выбранного объекта, т.е. чтобы координаты объекты сбросились на ноль нужно выбрать объект хотя бы раз
можно вместо "1.0e-05" использовать превращение этого значения в строку, затем поиск e в строке, и если есть то... задавать новую позицию объекту. но это лишь размышленияДобавлено (06 апреля 2015, 10:35) --------------------------------------------- кста, при помощи этого кода в инспекторе можно задавать запретные зоны, в которых не разрешается размещать объекты.
заменив if (obj.transform.position.x < (1.0e-05) && obj.transform.position.x > (-1.0e-05))... на obj.transform.position.x < (10.0f) && obj.transform.position.x > (-10.0f)).... и для оставшихся двух осей, то получим кубик 10х10х10, в который в редакторе не удастся разместить объект. скрипт может быть улучшен, если учитывать размеры самого объекта, поскольку в настоящий момент учитывается лишь координата центра объекта (pivot егойный).
может, кому пригодится...
http://www.3dbuffer.com/ Текстуры, Unity3D, Blender: Эффекты, скрипты, моделирование, текстурирование, скульптинг VKонтакте 3Dbuffer
Последнее:
Новый раздел "Текстуры"
Как запатентовать, защитить техническое решение, игру, идею
|
|
| |
MANMANA | Дата: Понедельник, 06 Апреля 2015, 20:34 | Сообщение # 482 | Тема: Вопрос-[ответ] по Unity |
почти ветеран
Сейчас нет на сайте
| Цитата Pe4enka (  ) Привет ! Появился такой вопрос, как через скрипт обратиться к скрипту(First Person Controller), который появился в Unity 5 ?Ибо когда объявляю переменную-его нет( а как раньше не помогает?
объект А со скриптом FPSInputController пометить, например, тегом Player (можно поиск объекта осуществлять любым другим способом);
скрипт на объекте В, отличном от объекта А:
Код var fpss : FPSInputController;
function Start () { fpss = GameObject.FindGameObjectWithTag("Player").GetComponent("FPSInputController"); }
function Update () { fpss.prop = "NonZero"; }
внутри скрипта FPSInputController (переменная введена для примера)
Код var prop : String = "Zero";
пример работы кода после старта приложения переменная prop меняется в скрипте FPS контроллера
Добавлено (06 апреля 2015, 20:34) --------------------------------------------- вместо поиска могешь создать публичную переменную для ГО и в инспекторе запИхнуть в нее объект, на котором висит FPS... Далее ГО.GetComponent("FPSInputController"); ...
http://www.3dbuffer.com/ Текстуры, Unity3D, Blender: Эффекты, скрипты, моделирование, текстурирование, скульптинг VKонтакте 3Dbuffer
Последнее:
Новый раздел "Текстуры"
Как запатентовать, защитить техническое решение, игру, идею
Сообщение отредактировал MANMANA - Понедельник, 06 Апреля 2015, 20:40 |
|
| |
MANMANA | Дата: Понедельник, 06 Апреля 2015, 21:22 | Сообщение # 483 | Тема: Вопрос-[ответ] по Unity |
почти ветеран
Сейчас нет на сайте
| У меня стандартный контроллер на JS (странно, да?)
возможно, ты про вот эти контроллеры и моторы на C# https://gist.github.com/zephjc/5641540
или
http://forum.unity3d.com/threads....c.64378
или
http://forum.unity3d.com/threads....p.93527
в любом случае, вот предыдущий пример на C# для скрипта FPSInputControllerC
C# Код using UnityEngine; using System.Collections;
public class scr : MonoBehaviour { public FPSInputControllerC fpss; // Use this for initialization void Start () { fpss = GameObject.FindWithTag("Player").GetComponent<FPSInputControllerC>();
} // Update is called once per frame void Update () { fpss.prop = "NonZero"; } }
вот мануал по доступу к компонентам объектов и внутренностям скриптов http://docs.unity3d.com/410....ts.html
справа есть переключалки для выбора языков
http://www.3dbuffer.com/ Текстуры, Unity3D, Blender: Эффекты, скрипты, моделирование, текстурирование, скульптинг VKонтакте 3Dbuffer
Последнее:
Новый раздел "Текстуры"
Как запатентовать, защитить техническое решение, игру, идею
|
|
| |
MANMANA | Дата: Вторник, 07 Апреля 2015, 11:09 | Сообщение # 484 | Тема: Изменить rotation на определенный угол |
почти ветеран
Сейчас нет на сайте
| Transform.RotateAround Rotates the transform about axis passing through point in world coordinates by angle degrees. Поворачивает в мировых координатах "объект/транформ" на угол вокруг осей вокруг точки
Quaternion.AngleAxis Creates a rotation which rotates angle degrees around axis. Поворачивает объект вокруг осей на угол.
http://www.3dbuffer.com/ Текстуры, Unity3D, Blender: Эффекты, скрипты, моделирование, текстурирование, скульптинг VKонтакте 3Dbuffer
Последнее:
Новый раздел "Текстуры"
Как запатентовать, защитить техническое решение, игру, идею
|
|
| |
MANMANA | Дата: Среда, 08 Апреля 2015, 19:50 | Сообщение # 485 | Тема: Скрипт не вызывает воспроизведение анимации |
почти ветеран
Сейчас нет на сайте
| а давайте все обзывать Animator'ами... в другом скрипте скрипту "CharacterAnimator" тож имя Animator даешь? не запутается Юнька-то? http://docs.unity3d.com/ScriptReference/Animator.html я что-то в стандартных методах Аниматора не вижу ToBattleAnДобавлено (08 апреля 2015, 19:50) --------------------------------------------- а если вот так написать Код public Animator CharacterAnimator; , то еще интересней будет
http://www.3dbuffer.com/ Текстуры, Unity3D, Blender: Эффекты, скрипты, моделирование, текстурирование, скульптинг VKонтакте 3Dbuffer
Последнее:
Новый раздел "Текстуры"
Как запатентовать, защитить техническое решение, игру, идею
Сообщение отредактировал MANMANA - Среда, 08 Апреля 2015, 19:48 |
|
| |
MANMANA | Дата: Среда, 08 Апреля 2015, 20:01 | Сообщение # 486 | Тема: Скрипт не вызывает воспроизведение анимации |
почти ветеран
Сейчас нет на сайте
| а в чем была проблема? если решили, то напишите...
функцию-то вы вот так вызываете Animator.ToBattleAn(); ?
http://www.3dbuffer.com/ Текстуры, Unity3D, Blender: Эффекты, скрипты, моделирование, текстурирование, скульптинг VKонтакте 3Dbuffer
Последнее:
Новый раздел "Текстуры"
Как запатентовать, защитить техническое решение, игру, идею
|
|
| |
MANMANA | Дата: Среда, 08 Апреля 2015, 20:13 | Сообщение # 487 | Тема: Скрипт не вызывает воспроизведение анимации |
почти ветеран
Сейчас нет на сайте
| глянул сейчас, да именование в виде Animator не мешает получить доступ к функции. а в функции ToBattleAn пробовали прописать Debug.Log("Invoked!!!!!"), может разок вызывается?
ведь, как вы говорите вот эта часть кода Left.Play(); Right.Play(); InBattle = true;
выполняется у вас.
http://www.3dbuffer.com/ Текстуры, Unity3D, Blender: Эффекты, скрипты, моделирование, текстурирование, скульптинг VKонтакте 3Dbuffer
Последнее:
Новый раздел "Текстуры"
Как запатентовать, защитить техническое решение, игру, идею
|
|
| |
MANMANA | Дата: Среда, 08 Апреля 2015, 20:31 | Сообщение # 488 | Тема: Скрипт не вызывает воспроизведение анимации |
почти ветеран
Сейчас нет на сайте
| если функция вызывается из этого скрипта, то при касании пальцем тача в массив Input.touches было добавлено 68 элементов. для них сработал цикл foeach ... потом всем им проставился false
может так - if (touch.phase == TouchPhase.Began) { if(this.GetComponent<GUITexture>().HitTest(touch.position) & InBattle == false) { Animator.ToBattleAn(); Left.Play(); Right.Play(); InBattle = true; } }Добавлено (08 апреля 2015, 20:31) --------------------------------------------- тогда функцию в студию
http://www.3dbuffer.com/ Текстуры, Unity3D, Blender: Эффекты, скрипты, моделирование, текстурирование, скульптинг VKонтакте 3Dbuffer
Последнее:
Новый раздел "Текстуры"
Как запатентовать, защитить техническое решение, игру, идею
|
|
| |
MANMANA | Дата: Среда, 08 Апреля 2015, 20:32 | Сообщение # 489 | Тема: Скрипт не вызывает воспроизведение анимации |
почти ветеран
Сейчас нет на сайте
| или код того, как вы вызываете функцию из другого кода (тот случай, когда при ее вызове проигрывается анимация)
http://www.3dbuffer.com/ Текстуры, Unity3D, Blender: Эффекты, скрипты, моделирование, текстурирование, скульптинг VKонтакте 3Dbuffer
Последнее:
Новый раздел "Текстуры"
Как запатентовать, защитить техническое решение, игру, идею
|
|
| |
MANMANA | Дата: Среда, 08 Апреля 2015, 20:37 | Сообщение # 490 | Тема: Скрипт не вызывает воспроизведение анимации |
почти ветеран
Сейчас нет на сайте
| а там так и должна быть Animation, или все таки Animator? Добавлено (08 апреля 2015, 20:36) --------------------------------------------- Animator.CrossFade Create a dynamic transition between the current state and the destination state.
Animation.CrossFade Fades the animation with name animation in over a period of time seco... Добавлено (08 апреля 2015, 20:37) --------------------------------------------- если все верно, то дело, должно быть, в "ToBattle" есть ли такая анимация. верно ли название?
http://www.3dbuffer.com/ Текстуры, Unity3D, Blender: Эффекты, скрипты, моделирование, текстурирование, скульптинг VKонтакте 3Dbuffer
Последнее:
Новый раздел "Текстуры"
Как запатентовать, защитить техническое решение, игру, идею
|
|
| |
MANMANA | Дата: Среда, 08 Апреля 2015, 20:45 | Сообщение # 491 | Тема: Скрипт не вызывает воспроизведение анимации |
почти ветеран
Сейчас нет на сайте
| поменяйте в скрипте "ToBattle" на "Up" - проиграется анимация для Up при тех же действиях с джойстиком/тачем, которые выполняются для ToBattle? Добавлено (08 апреля 2015, 20:43) --------------------------------------------- но сдается мне, что дело в InBattle = true; Добавлено (08 апреля 2015, 20:45) --------------------------------------------- в логике
http://www.3dbuffer.com/ Текстуры, Unity3D, Blender: Эффекты, скрипты, моделирование, текстурирование, скульптинг VKонтакте 3Dbuffer
Последнее:
Новый раздел "Текстуры"
Как запатентовать, защитить техническое решение, игру, идею
|
|
| |
MANMANA | Дата: Среда, 08 Апреля 2015, 21:09 | Сообщение # 492 | Тема: Скрипт не вызывает воспроизведение анимации |
почти ветеран
Сейчас нет на сайте
| значит ..... & InBattle == false){
и InBattle = true;Добавлено (08 апреля 2015, 20:53) --------------------------------------------- тут уж не знаю Добавлено (08 апреля 2015, 20:58) --------------------------------------------- но логика мне кажется разной Код if(Grounded == false){ AnimatorCh.UpAn(); } foreach(Touch touch in Input.touches){ if(this.GetComponent<GUITexture>().HitTest(touch.position) & Grounded == true){ Move.Jump(); } } и Код foreach(Touch touch in Input.touches){ if(this.GetComponent<GUITexture>().HitTest(touch.position) & InBattle == false){ Animator.ToBattleAn(); Left.Play(); Right.Play(); InBattle = true; } } нет? тут ведь еще работает и функция Move.Jump();Добавлено (08 апреля 2015, 21:01) --------------------------------------------- если так
if(Grounded == false){ AnimatorCh.UpAn(); } foreach(Touch touch in Input.touches){ if(this.GetComponent<GUITexture>().HitTest(touch.position) & Grounded == true){ Move.Jump(); Grounded = false;//прыжок будет работать? } } Добавлено (08 апреля 2015, 21:09) --------------------------------------------- и еще ко всему прочему закоммитить Move.Jump(); 
http://www.3dbuffer.com/ Текстуры, Unity3D, Blender: Эффекты, скрипты, моделирование, текстурирование, скульптинг VKонтакте 3Dbuffer
Последнее:
Новый раздел "Текстуры"
Как запатентовать, защитить техническое решение, игру, идею
|
|
| |
MANMANA | Дата: Четверг, 09 Апреля 2015, 12:28 | Сообщение # 493 | Тема: Скрипт не вызывает воспроизведение анимации |
почти ветеран
Сейчас нет на сайте
| у меканима http://docs.unity3d.com/500....on.html а в Legacy Animation тоже такое есть? я не нашел здесь http://docs.unity3d.com/ru/current/Manual/Animations.html
http://www.3dbuffer.com/ Текстуры, Unity3D, Blender: Эффекты, скрипты, моделирование, текстурирование, скульптинг VKонтакте 3Dbuffer
Последнее:
Новый раздел "Текстуры"
Как запатентовать, защитить техническое решение, игру, идею
|
|
| |
MANMANA | Дата: Пятница, 10 Апреля 2015, 18:06 | Сообщение # 494 | Тема: Вопрос-[ответ] по 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 |
|
| |
MANMANA | Дата: Воскресенье, 12 Апреля 2015, 09:15 | Сообщение # 495 | Тема: Пещеры и модели [Решено] |
почти ветеран
Сейчас нет на сайте
| Цитата Spaceship (  ) Здравствуйте! Меня давно мучает вопрос~ как делать пещеры, и с помощью ли ассета можно делать их? И можно ли в юнити поставить модель и затекстурить ее уже в движке, а не в Blender. можно. можно с помощью ассетов TexturePaint; можно с помощью самописного кода для редактора, например, реализовав вот такое Смешивание текстур ландшафта, но для меша, или использовав уже готовый ассет, написанный для террейна авторами упомянутой статьи.
http://www.3dbuffer.com/ Текстуры, Unity3D, Blender: Эффекты, скрипты, моделирование, текстурирование, скульптинг VKонтакте 3Dbuffer
Последнее:
Новый раздел "Текстуры"
Как запатентовать, защитить техническое решение, игру, идею
Сообщение отредактировал MANMANA - Воскресенье, 12 Апреля 2015, 09:15 |
|
| |
MANMANA | Дата: Воскресенье, 12 Апреля 2015, 13:00 | Сообщение # 496 | Тема: Не работают скрипты, ВСЕ! |
почти ветеран
Сейчас нет на сайте
| Вам же говорили начинать с обучалок Вот ссылки на статьи участников форума:
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, 18:05 | Сообщение # 497 | Тема: Наложение несколько текстур на объект |
почти ветеран
Сейчас нет на сайте
| прожектор, декали, шейдер, в который загружаются две текстуры (вторая - ваши трещины с прозрачным фоном) либо смешивание текстур на хабре
http://answers.unity3d.com/questio....sh.html http://stackoverflow.com/questio....unity3d
http://www.3dbuffer.com/ Текстуры, Unity3D, Blender: Эффекты, скрипты, моделирование, текстурирование, скульптинг VKонтакте 3Dbuffer
Последнее:
Новый раздел "Текстуры"
Как запатентовать, защитить техническое решение, игру, идею
|
|
| |
MANMANA | Дата: Воскресенье, 12 Апреля 2015, 23:28 | Сообщение # 498 | Тема: Движение объектов по орбитам |
почти ветеран
Сейчас нет на сайте
| первый скрипт от Scribe рисует красивую траекторию через LineRenderer http://answers.unity3d.com/questio....it.html, причем есть настройки траектории
http://www.3dbuffer.com/ Текстуры, Unity3D, Blender: Эффекты, скрипты, моделирование, текстурирование, скульптинг VKонтакте 3Dbuffer
Последнее:
Новый раздел "Текстуры"
Как запатентовать, защитить техническое решение, игру, идею
Сообщение отредактировал MANMANA - Воскресенье, 12 Апреля 2015, 23:29 |
|
| |
MANMANA | Дата: Понедельник, 13 Апреля 2015, 02:18 | Сообщение # 499 | Тема: Движение объектов по орбитам |
почти ветеран
Сейчас нет на сайте
| если орбита устроит не эллиптическая, а в форме окружности, то
создаешь на сцене сферы по размеру планет создаешь на сцене сферу - солнце, на него вешаешь скрипт создаешь сферу поменьше для Луны и делаешь ее дочерней к Земле (перетаскиваешь в инспекторе Луну на Землю)
Код 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 | Дата: Понедельник, 13 Апреля 2015, 02:46 | Сообщение # 500 | Тема: Вопрос-[ответ] по 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
Последнее:
Новый раздел "Текстуры"
Как запатентовать, защитить техническое решение, игру, идею
|
|
| |
|