Как взять 3 поплавка и поместить их в transform.postion, который является вектором 3? - PullRequest
0 голосов
/ 11 октября 2019

Пока я писал код для игры строителя башен (например, эта ), мне нужен был способ порождения башни, поэтому я использовал Instantiate, а для преобразования я создал переменную под названием "place" иЯ попытался использовать переменные цикла for, но это не сработало.

Вот мой скрипт:

using System.Collections;
using System.Collections.Generic;
using Unity.Mathematics;
using UnityEngine;

public class spawner : MonoBehaviour
{
    public float3 startingLocation;
    Transform place;
    public void SpwanTower(float xx, float yy, float zz, GameObject Brick)
    {

        for (int i = 0; i < yy; i++)
        {
            for (int e = 0; e < xx; e++)
            {
                for (int o = 0; o < zz; o++)
                {

                    Instantiate(Brick,place);
                }
            }
        }
    }
}

Ответы [ 2 ]

1 голос
/ 11 октября 2019

Я думаю, что вы хотите что-то в строке:

Instantiate(Brick, new Vector3(e, i, o), Quaternion.identity);

, потому что вы не используете e, i и o переменные.

0 голосов
/ 13 октября 2019

попробуйте это

public float3 startingLocation;
Transform place;
public void SpwanTower(float xx, float yy, float zz, GameObject Brick)
{
    Vector3 currPos = new Vector3(
        startingLocation.x,
        startingLocation.y,
        startingLocation.z
    );

    for (int i = 0; i < yy; i++)
    {
        for (int e = 0; e < xx; e++)
        {
            for (int o = 0; o < zz; o++)
            {
                //you can change the plus sign to determine to what direction the tower will be built
                currPos.x = startingLocation.x + e;
                currPos.y = startingLocation.y + i;
                currPos.z = startingLocation.z + o;
                Instantiate(Brick, currPos, Quaternion.identity);
            }
        }
    }
}

OBS: вместо выполнения new Vector3(e, i, o) лучше изменить значения x, y, z currPos, так как это будет выполняться несколько раз

надеюсь, что это работает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...