Префаб создается не в нужной позиции.

Программирование на Юнити.

Префаб создается не в нужной позиции.

Сообщение \What\ 05 янв 2019, 10:59

Здравствуйте, я только изучаю Unity и столкнулся с проблемой. Дело вот в чем, персонаж двигается при помощи аниматора, а вращается при помощи мыши. Влево и вправо персонаж вращается целиком, а вверх и вниз только верхняя часть тела. Создал оружие и снаряд. Снаряд это отдельный объект, с довольно непростым скриптом, который позволяет ему лететь по кривой. Проблема не в этом, проблема в том что по нажатии на лкм снаряд должен создаваться в определенной точке, но он создается выше чем эта позиция. Если у аниматора убрать "Apply root motion", то снаряды летят из нужной точки, но персонаж не двигается. Если у аниматора поставить "Animate physics", то снаряды тоже создаются где нужно, но теперь нельзя поворачиваться влево и вправо. Вот так вот. (скрипт создания простейший, прилагаю).
Синтаксис:
Используется csharp
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class StrikeScr : MonoBehaviour
{
    public GameObject bullet;
    public float delayStr;
    public Transform bulStart;
    private bool getToStrike = true;

    void Start()
    {
        getToStrike = true;
    }

    IEnumerator strike()
    {
        Instantiate(bullet, bulStart.position, transform.rotation);
        yield return new WaitForSeconds(delayStr);
        getToStrike = true;
    }


    void Update()
    {
        if (Input.GetButton("Fire1") == true)
        {
            if (getToStrike == true)
            {
                getToStrike = false;
                StartCoroutine(strike());
            }
        }
    }
}
 
\What\
UNец
 
Сообщения: 14
Зарегистрирован: 05 янв 2019, 10:47

Re: Префаб создается не в нужной позиции.

Сообщение Xtir 05 янв 2019, 11:59

Так ты смотри где находится объект bulStart. А так то всё правильно, он создаётся ровно там где ты ему указываешь.
Xtir
UNIверсал
 
Сообщения: 498
Зарегистрирован: 21 окт 2016, 00:37

Re: Префаб создается не в нужной позиции.

Сообщение \What\ 05 янв 2019, 15:23

Xtir писал(а):Так ты смотри где находится объект bulStart. А так то всё правильно, он создаётся ровно там где ты ему указываешь.

bulStart находится в нужной позиции, но если у аниматора не включен "physics animate", то все работает криво. Я снял это на видео, розовая полоса - траектория по которой полетела пуля после спавна.
\What\
UNец
 
Сообщения: 14
Зарегистрирован: 05 янв 2019, 10:47

Re: Префаб создается не в нужной позиции.

Сообщение VirMP4 31 янв 2019, 10:48

Укажи позицию интстантиейта (само оружие), мы не знаем где твой балстарт находится
VirMP4
UNец
 
Сообщения: 17
Зарегистрирован: 24 янв 2019, 13:30

Re: Префаб создается не в нужной позиции.

Сообщение VirMP4 31 янв 2019, 10:53

Ну если реально балстарт стотм там где нужно,то ты не в том скрипте ошибку ищешь, если с полетом проблема,то код полета давай
VirMP4
UNец
 
Сообщения: 17
Зарегистрирован: 24 янв 2019, 13:30


Вернуться в Скрипты

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

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