forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Искусственный интеллект (http://forum.boolean.name/forumdisplay.php?f=171)
-   -   Движение объекта по многоугольнику (http://forum.boolean.name/showthread.php?t=15120)

Nazgul 14.07.2011 11:52

Движение объекта по многоугольнику
 
Я задал набор точек (многоугольник), т.е. создал массив Vector3[].
Каким образом передвигать объект по этим точкам? Помещаю объект в первую точку, и он должен должен постоянно по порядку обходить все точки.

is.SarCasm 14.07.2011 12:33

Ответ: Движение объекта по многоугольнику
 
Создай переменную типа "Step", затем заставь объект двигаться к "МассивТочек[Step]" и по достижению точки прибавляй +1 к "Step". Если ("Step"> "МассивТочек.Length") { "Step" = 0;}

Lestar 14.07.2011 14:12

Ответ: Движение объекта по многоугольнику
 
В упрощенном виде.Вешаем на наш обьект,который двигается по вейпойнтам.В public переменные засовываем вейпойнты.

PHP код:

using UnityEngine;
using System.Collections;

public class 
TargetList MonoBehaviour
{

    public 
Transform point_0;
    public 
Transform point_1;
    public 
Transform point_2;
    public 
Transform point_3;
    public 
Transform point_4;
    public 
Transform point_5;
    
Transform[] all_Point=new Transform[6];
    private 
Vector3 target_Pos;
    private 
int i 0;
    private 
float speed_move 30f;
    private 
bool stop_Move=false;
    
void Start()
    {
        
all_Point[0] = point_0;
        
all_Point[1] = point_1;
        
all_Point[2] = point_2;
        
all_Point[3] = point_3;
        
all_Point[4] = point_4;
        
all_Point[5] = point_5;
    }

    
void Update()
    {

        
target_Pos all_Point[i].transform.position;
        
transform.Translate(Vector3.Normalize(target_Pos transform.position)*Time.deltaTime*speed_move);
        
float distans Vector3.Distance(target_Postransform.position);
        if (
distans 0.5f)
        {
            if (
all_Point.Length 1)
            {
                
i++;
            }
            else
            {
                
0;
            }
        }
    }




is.SarCasm 14.07.2011 14:30

Ответ: Движение объекта по многоугольнику
 
А не легче просто сделать массив публичным :)

Lestar 14.07.2011 17:56

Ответ: Движение объекта по многоугольнику
 
Пусть человек разбирается откуда ноги растут.

Nazgul 14.07.2011 18:02

Ответ: Движение объекта по многоугольнику
 
Большое спасибо:)


Часовой пояс GMT +4, время: 23:41.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot