Постройка здания

Общие вопросы о Unity3D

Постройка здания

Сообщение llldimedrolll 24 май 2012, 11:28

Здраствуйте.А подскажите как реализовать постройку зданий как в RTS?Если можно примером
llldimedrolll
UNец
 
Сообщения: 19
Зарегистрирован: 05 авг 2011, 11:33

Re: Постройка здания

Сообщение bomberest 24 май 2012, 14:59

Лучше сам пример приведи
Основы Unity3D Свой 2D-движок Фильм для разработчиков Кастомизация едитора
Лекции игрового программирования
Skype: Andrewf56 | Steam: bomberest (-AnF-) | Vk: _https://vk.com/andrewshut
Аватара пользователя
bomberest
Старожил
 
Сообщения: 538
Зарегистрирован: 22 июн 2011, 14:38
Откуда: Минск
  • ICQ

Re: Постройка здания

Сообщение llldimedrolll 25 май 2012, 13:00

всмысле?
llldimedrolll
UNец
 
Сообщения: 19
Зарегистрирован: 05 авг 2011, 11:33

Re: Постройка здания

Сообщение trololoid 25 май 2012, 13:40

В разных играх по разному, всё зависит от степени фантазии геймдизайнера.
bomberest хотел узнать примеры игр.
Аватара пользователя
trololoid
Старожил
 
Сообщения: 712
Зарегистрирован: 15 сен 2011, 19:18
Откуда: Туапсе, Краснодарский край, Россия

Re: Постройка здания

Сообщение llldimedrolll 26 май 2012, 10:40

ну мне вообщем, я пытался делать так: вешал скрипт на камеру, в скрипте кнопка на постройку там через Instantiate ставил префаб со зданием, а префабе на обьекте скрипт в нем пускал луч и с помощью него указывал куда ставить здание, но при установке еще одного здания так уже не получаеться кординаты на первом меняються и второй ставиться примерно там где кнопка и не двигаеться и вот не могу разобраться как сделать..
llldimedrolll
UNец
 
Сообщения: 19
Зарегистрирован: 05 авг 2011, 11:33

Re: Постройка здания

Сообщение bomberest 26 май 2012, 15:07

Хм, а можно еще раз: со скринами и для тупых, чтобы я понял :)
Основы Unity3D Свой 2D-движок Фильм для разработчиков Кастомизация едитора
Лекции игрового программирования
Skype: Andrewf56 | Steam: bomberest (-AnF-) | Vk: _https://vk.com/andrewshut
Аватара пользователя
bomberest
Старожил
 
Сообщения: 538
Зарегистрирован: 22 июн 2011, 14:38
Откуда: Минск
  • ICQ

Re: Постройка здания

Сообщение llldimedrolll 26 май 2012, 17:26

bomberest писал(а):Хм, а можно еще раз: со скринами и для тупых, чтобы я понял :)

на камере висит скрипт с таким содержанием
Синтаксис:
Используется csharp
using UnityEngine;
using System.Collections;

public class ConstuctBuilding : MonoBehaviour {
        public Transform obj;
       
        // Use this for initialization
        void Start () {
               
        }
       
        // Update is called once per frame
        void Update () {
               
        }
       
        void OnGUI(){
                if(GUI.Button(new Rect(10,10,60,25),"Building")){
                        Instantiate(obj);
                }
        }
}

При нажатии на кнопку вызываеться префаб, в этом префабе на обьекте еще один скрипт
Синтаксис:
Используется csharp
using UnityEngine;
using System.Collections;

public class SetBuilding : MonoBehaviour {
        static bool noinstal = true;
        Ray ray;
              RaycastHit hit;
        // Use this for initialization
        void Start () {
               
        }
       
        void Update () {
                ray = Camera.mainCamera.ScreenPointToRay(Input.mousePosition);
                hit = new RaycastHit();
                if (Physics.Raycast(ray, out hit, 1000)){
                        if(noinstal){
                                Sett();
                                transform.position = new Vector3(hit.point.x, 20, hit.point.z);
                        }
                }
               
        }
        void Sett(){
                if(Input.GetMouseButtonDown(0)){
                        noinstal = false;      
                }
        }
       
}

Так вот при первой установке здания обьекта всё ок, а при второй не работает.И вот чёт мозг не варит почему...
llldimedrolll
UNец
 
Сообщения: 19
Зарегистрирован: 05 авг 2011, 11:33

Re: Постройка здания

Сообщение yura415 26 май 2012, 17:43

llldimedrolll писал(а):
bomberest писал(а):Хм, а можно еще раз: со скринами и для тупых, чтобы я понял :)

на камере висит скрипт с таким содержанием
Синтаксис:
Используется csharp
using UnityEngine;
using System.Collections;

public class ConstuctBuilding : MonoBehaviour {
        public Transform obj;
       
        // Use this for initialization
        void Start () {
               
        }
       
        // Update is called once per frame
        void Update () {
               
        }
       
        void OnGUI(){
                if(GUI.Button(new Rect(10,10,60,25),"Building")){
                        Instantiate(obj);
                }
        }
}

При нажатии на кнопку вызываеться префаб, в этом префабе на обьекте еще один скрипт
Синтаксис:
Используется csharp
using UnityEngine;
using System.Collections;

public class SetBuilding : MonoBehaviour {
        static bool noinstal = true;
        Ray ray;
              RaycastHit hit;
        // Use this for initialization
        void Start () {
               
        }
       
        void Update () {
                ray = Camera.mainCamera.ScreenPointToRay(Input.mousePosition);
                hit = new RaycastHit();
                if (Physics.Raycast(ray, out hit, 1000)){
                        if(noinstal){
                                Sett();
                                transform.position = new Vector3(hit.point.x, 20, hit.point.z);
                        }
                }
               
        }
        void Sett(){
                if(Input.GetMouseButtonDown(0)){
                        noinstal = false;      
                }
        }
       
}

Так вот при первой установке здания обьекта всё ок, а при второй не работает.И вот чёт мозг не варит почему...

Объект обязательно надо удалять, если так уж делать, но так не надо делать) Лучше всё в одном скрипте совместить.
Добавить yura4151 в Skype
Аватара пользователя
yura415
Старожил
 
Сообщения: 567
Зарегистрирован: 14 дек 2010, 08:27
  • Сайт

Re: Постройка здания

Сообщение llldimedrolll 27 май 2012, 00:47

а если мне нужно много копий?как сделать?
llldimedrolll
UNец
 
Сообщения: 19
Зарегистрирован: 05 авг 2011, 11:33

Re: Постройка здания

Сообщение Belfegnar_ 27 май 2012, 02:30

Надо в том скрипте, что у вас на камере делать и инстантинг и позиционирование.
Например, так(если надо здание ставить мышью):
Синтаксис:
Используется csharp
using UnityEngine;
using System.Collections;

public class ConstuctBuilding : MonoBehaviour {
         public Transform obj;
         bool readyToInstance;
         Ray ray;
         RaycastHit hit;
         
         // Update is called once per frame
         void Update () {
                 if(readyToInstance && Input.GetMouseButtonDown(0)){
                    ray = Camera.mainCamera.ScreenPointToRay(Input.mousePosition);
                    if (Physics.Raycast(ray, out hit, 1000)){
                                 Instantiate(obj, new Vector3(hit.point.x, 20, hit.point.z), Quaternion.identity);
                                 readyToInstance = false;
                    }
                }

         }
         
         void OnGUI(){
                 if(GUI.Button(new Rect(10,10,60,25),"Building")){
                        readyToInstance = true;
                 }
         }
}
Belfegnar_
UNIт
 
Сообщения: 112
Зарегистрирован: 22 ноя 2010, 14:08

Re: Постройка здания

Сообщение llldimedrolll 27 май 2012, 12:35

спасибо)а вот как сделать что бы при нажатии на кнопку здание уже появилось и его можно было потягать по карте и выбрать куда ставить?
llldimedrolll
UNец
 
Сообщения: 19
Зарегистрирован: 05 авг 2011, 11:33

Re: Постройка здания

Сообщение llldimedrolll 28 май 2012, 16:11

ну подскажите кто нить
llldimedrolll
UNец
 
Сообщения: 19
Зарегистрирован: 05 авг 2011, 11:33

Re: Постройка здания

Сообщение bomberest 28 май 2012, 20:02

llldimedrolll писал(а):спасибо)а вот как сделать что бы при нажатии на кнопку здание уже появилось и его можно было потягать по карте и выбрать куда ставить?

Разбери свою задачу на отдельные, ищи их решение.
Основы Unity3D Свой 2D-движок Фильм для разработчиков Кастомизация едитора
Лекции игрового программирования
Skype: Andrewf56 | Steam: bomberest (-AnF-) | Vk: _https://vk.com/andrewshut
Аватара пользователя
bomberest
Старожил
 
Сообщения: 538
Зарегистрирован: 22 июн 2011, 14:38
Откуда: Минск
  • ICQ


Вернуться в Общие вопросы

Кто сейчас на конференции

Сейчас этот форум просматривают: Yandex [Bot] и гости: 15