2016-03-26 1 views
0

У меня есть объект с именем ObjectA, это 2D-компонент, так как свойство этого объекта у меня есть TextMesh.Unity 3D вращать объект внутри другого объекта без аффекта как

public class Bubble : MonoBehaviour { 
    public TextMesh text; 

    void Start(){ 
      Game.game.objectA.Add(this); 
     var textMesh = gameObject.AddComponent<TextMesh>(); 
     text = textMesh; 
     text.text = "Hello world"; 
     text.transform.Rotate(73, 305, 307); 
    } 
} 

Ну, проблема в том, как компоненты, тем objectA клонировали и свойство text добавлены правильно в сцене, но objectA имеет тот же поворот его имущества.

Как я могу реализовать различное вращение для обоих компонентов?

ответ

0

Это логическая ошибка. Если вы тщательно проверите свой поток. Вы пытаетесь добавить ObjectA Итак, у этого объекта ObjectA уже есть поле Component, которое равно нулю в начале предупреждение о спойлере, а не дочерний Затем вы создали компонент TextMesh.

Затем назначьте указатель поля text. Почему бы вам просто не добавить его прямо в указатель text, а затем.

Наконец, вы поворачиваете компонент TextMesh, который является частью ObjectA. Это также повернет ObjectA, потому что они равны ONE gameObject. Так что вам нужно сделать, это сделать 2 разных объекта и сделать другого ребенка с компонентом TextMesh. Всегда помните, что

Компонентное преобразование, такое же, как и для преобразования GameObject. Каждый GameObject должен иметь компонент преобразования, НО ТОЛЬКО ОДИН.

Надеюсь, это объяснит вашу проблему.

Смежные вопросы