2016-09-18 3 views
1

В настоящее время я пытаюсь получить игру, работающую в единстве через C#. Я думаю, что я сделал хорошую работу до этого момента.C# Unity тест игры

Игра укладчик игры:

коробка будет двигаться слева направо, и вы нажимаете пространство стека его Если это на последнем окне вы разместили его идти дальше.

Но теперь моя проблема: ящик - это объект, сделанный в Blender.

Но я хочу, чтобы я создавал ящики под текущей ячейкой, которую игрок контролирует, чтобы выглядеть как коробка, которую я сделал в Blender.

Как я могу это достичь? К этому моменту я просто использую:

GameObject cb = GameObject.CreatePrimitive(PrimitiveType.Cube); 
    cb.transform.position = new Vector3(CurrentX, CurrentY, CurrentZ); 

для создания нормального куба.

+0

Вы, вероятно, нужны сборные, Google, как они работают – Dunno

ответ

0

Я не думаю, что 2 строки кода могут делать все, что вы только что упомянули. Надеюсь, это всего лишь фрагмент кода.

Но теперь моя проблема в том, что ящик - это объект, сделанный в Blender.

Но я хочу, чтобы я создавал ящики под текущим полем, игрок контролирует вид коробки, которую я сделал в Blender.

Вы должны экспортировать коробку из Blender в .fbx, .blend или любой другой формат 3D модели, которая поддерживается в Unity. Затем вы можете импортировать этот файл, который вы экспортировали в Unity. Here - это учебник для этого.

Сделать что импортное куб/GameObject в сборного затем использовать функцию Instantiate создать новый куб каждый раз вместо GameObject.CreatePrimitive.

Измените текущий код

public GameObject boxPrfab; 
GameObject cb = Instantiate(boxPrfab, Vector3.zero, Quaternion.identity) as GameObject; 
cb.transform.position = new Vector3(CurrentX, CurrentY, CurrentZ); 

Убедитесь, что перетащить префаб в слот boxPrfab.

+0

спасибо за помощь, но РМКО остаетесь одна проблемы: я сделал это так же, как вам сказал, но теперь есть ящики muttliple и наземные самолеты, когда я нажимаю пробел ... там не должно быть много клонов коробки, и все они неуместны ... есть ли способ включить сюда фотографии? –

+0

Я думаю, что забыл о том, что я не хочу, чтобы новые кубы я создавал для выполнения кода ... Я просто хочу, чтобы они выглядели как мой объект ... может быть, проще это сделать? или это лучший способ сделать это? –

+0

У вас недостаточно репутации, чтобы загрузить картинку здесь. Вы можете загрузить изображение на imgur.com, а затем указать URL-адрес здесь в своем вопросе. Что касается вашей проблемы, я не понимаю, какая у вас проблема. До тех пор, пока код работает, ваши вопросы будут работать на вас. – Programmer

0

Я предполагаю, что вы хотите, чтобы икра уже существует в сцене. Затем создайте Prefab на вкладке Project, щелкнув правой кнопкой мыши на вкладке и выбрав Create ->Prefab. Назовите сборку что-то чувствительное, например, e. г. BoxPrefab. Теперь перетащите boxGameObject с вкладки Hierarchy на вкладку Project на только что созданную запись.

Теперь вы можете добавить переменную открытого участника в скрипт, который должен создать экземпляр ящика. г. как это:

public GameObject PrefabBox = null; 

Затем drag'n'drop префаб запись, которую вы создали ранее на вкладке Project на этом новое свойство PrefabBox на вкладке Inspector. В этом же скрипте вы можете создавать экземпляры сборника prefab e. г.следующий код:

GameObject boxSpawn = GameObject.Instantiate<GameObject>(
    PrefabBox, 
    new Vector3(CurrentX, CurrentY, CurrentZ), 
    PrefabBox.transform.rotation); 

Find more info on instantiating GameObjects dynamically in the Unity3d docs.

Find the syntax of GameObject.Instantiate here.

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