Здравствуйте.Такое дело... при настройках rectTransform Image(UI) не могу передвигать Pivot(круг в центре картинки), он у меня полупрозрачный, когда зажимаю лкм на нем и двигаю двигается вся картинка....то ли пора мне спать идти или его где то надо включить, потому что похоже что он не активный у меня..
спасибо, совсем вылетело из головы..:) Добрый день. Тут такое дело, динамически создаю text который идет по такой ветке canvas->inventory->slot->text при создании текст где то далеко вверху и не активен(как будто он вне канваса)...В голову не лезет что не так... скрипт и скрин ниже
Код
using UnityEngine; using System.Collections; using System.Collections.Generic; using UnityEngine.UI;
public class Slot : MonoBehaviour { private Stack<Item> items; public Text stackText;
public Sprite slotEmpty; public Sprite slotActive; public bool isEmpty{ get{ return items.Count == 0;} } public bool IsAvailable{ get{ return CurrentItem.maxSize > items.Count;} } public Item CurrentItem{ get{ return items.Peek ();} }
// Use this for initialization void Start () { items = new Stack<Item> (); RectTransform slotRect = GetComponent<RectTransform> (); RectTransform textRect = stackText.GetComponent<RectTransform> ();
ivan2009, тот код что ты скинул бесполезен, нужен тот где ты создаешь этот объект. По моему всё с ним нормально, с чего ты решил что он неактивен? Он так высоко потому что у него координата Y слишком высокая? Скорее всего ты неправильно указываешь его позицию при создании.
Здравствуйте, 2 часа проломал голову с одной проблемой, но хотелось бы понять из за чего она произошла. Вопрос: У меня есть префаб в котором есть public поле, я в него через инспектор забиваю GameObject. И во время игры когда я создаю инстанс этого префаба, то это поле оказывается пустым, почему так происходит? (Если что в public GameObject поле я пробывал забивать и инстанс из редактора и префаб, результат один.)
Ну когда же все поймут, что префаб - не объект!!!!! Это описание объекта! Он не может сохранить в себе ссылку на то что есть на сцене!!!! Только на то, что есть в проекте - скрипты, материалы, другие префабы и т.п. Решение. В старте скрипта что висит на префабе ищите нужный объект в сцене по имени.
Сообщение отредактировал seaman - Среда, 26 Августа 2015, 20:57
Создал дерево в Блендере и сделал анимация покачивания под него.В unity настроил анимацию через animatoin controller , все отлично работает . Но когда я начал множить деревья через пребаф или просто копируя со сцены все деревья уходят в точку где было самое первое настраиваемое дерево. Если не повешен аниматор контроллер на дерево то все нормально. кто может подсказать как исправить?
Подскажите пожалуйста, как выключить Realtime GI через код?
Добавлено (29 августа 2015, 23:11) --------------------------------------------- Уже не нужно, lightmap и GI не запекаются прямо в игре, это может только NavMesh
Сообщение отредактировал SkorpyX - Суббота, 29 Августа 2015, 23:14
Да не знаю, все нормально было, я что то делал, делал и вот получил Сам не знаю, что такого сделал) Лан в любом случае я откатился, где все было нормально
Вопрос - сейчас смотрю уроки по Unity отсюда http://unity3d.com/ru/earn/tutorials/projects/space-shooter/moving-the-player?playlist=17147 Там есть вот такой код (JS)
Код
var movement : Vector3= new Vector3 (moveHorizontal, 0.0f, moveVertical); rigidbody.velocity = movement * speed;
Может тупой вопрос, но - в моем представлении "вектор" это направленый отрезок.
В первую очередь Vector3 это структура для хранения данных, можешь свою создать и ее использовать Эта структура используется для направлений и позиций в 3д пространстве. ACTORS - мой фреймворк на Unity Until We Die - игра над которой работаю
pixeye, спасибо, но не совсем понятно Vector3 указывает на смещение от текущей позиции? т.е. вот код из примера:
Код
float moveHorizontal = Input.GetAxis ("Horizontal"); float moveVertical = Input.GetAxis ("Vertical"); Vector3 movement = new Vector3 (moveHorizontal, 0.0f, moveVertical);
Если я правильно понимаю, то в первых двух строчках мы одновременно инициализируем переменные moveHorizontal и moveVertical и задаем им значемя через использование функции Input.GetAxis с соотв. параметром. Но вот дальше я впадаю в непонимание. Если я правильно понимаю то тогда: у нас есть тип данных Vector3 Мы инициализируем переменную movement И одновременно присваиваем ей значение Vector3 (moveHorizontal, 0.0f, moveVertical) Но это что - смещение от текущей позиции? или абсолютные координаты от точки отсчета? Я читал но не смог понять.
Если я правильно понимаю, то в первых двух строчках мы одновременно инициализируем переменные moveHorizontal и moveVertical и задаем им значемя через использование функции Input.GetAxis с соотв. параметром. Но вот дальше я впадаю в непонимание. Если я правильно понимаю то тогда: у нас есть тип данных Vector3 Мы инициализируем переменную movement И одновременно присваиваем ей значение Vector3 (moveHorizontal, 0.0f, moveVertical) Но это что - смещение от текущей позиции? или абсолютные координаты от точки отсчета? Я читал но не смог понять.
Мне тут трудно что-то сказать конкретное так как я никогда не пользовался стандартными примерами юнити и их функциями input.getaxis - если отбросить этот момент то из кода это выглядит как абсолютная координата.
Vector3 movement = new Vector3 (moveHorizontal, 0.0f, moveVertical); - абсолютная Vector3 movement += new Vector3 (moveHorizontal, 0.0f, moveVertical); - относительная ( предыдущего значения movement ) ACTORS - мой фреймворк на Unity Until We Die - игра над которой работаю
Сообщение отредактировал pixeye - Вторник, 01 Сентября 2015, 06:47
На мой взгляд это зависит от того что тебе нужно. В первом подходе управляешь физическим телом (rigidbody), и есть ограничение движения по осям X, Z (исключаешь возможность выпадения управляемого персонажа из игровой области). Во втором подходе такого ограничения нет, к тому же перемещаешь трансформ, т.е. любой объект, не обязательно физическое тело.
ЦитатаBo ()
Мы инициализируем переменную movement И одновременно присваиваем ей значение Vector3 (moveHorizontal, 0.0f, moveVertical) Но это что - смещение от текущей позиции? или абсолютные координаты от точки отсчета?
Да, это смещение от текущей позиции. Input.GetAxis ("Horizontal") вернет значение от 0 до 1. King Size #Gamiron12
Сообщение отредактировал NEBR - Вторник, 01 Сентября 2015, 09:26