Вторник, 26 Ноября 2024, 00:32

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Пуля не летит ( Создание объекта -> velocity -> печалька)
HasuniДата: Среда, 29 Мая 2019, 20:14 | Сообщение # 1
был не раз
Сейчас нет на сайте
Написала скрипт для создания пулек. Но почему-то работает некорректно. Пули создаются, стоят и уничтожаются. Помогите, пожалуйста.

Код
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class BulletSpawn : MonoBehaviour {
    public Transform spawnPoint;
    public GameObject spawnable;
    public float bulletSpeed = 100f;

     void Update()
    {

        if (Input.GetAxis("Fire1") > 0)
   {
    GameObject bulletInstance = Instantiate(spawnable, spawnPoint.position, Quaternion.identity);
    bulletInstance.GetComponent<Rigidbody>().velocity = spawnPoint.forward * bulletSpeed;
    Destroy(bulletInstance,3);
   }
    }
}

Скрин редактора:
pixeyeДата: Среда, 29 Мая 2019, 20:45 | Сообщение # 2
Red Winter Software
Сейчас нет на сайте
Программирование это всегда немного игра в детектива. Я дам тебе универсальный совет решающий 100% твоих проблем. Называется дебаг.

Вероятнее всего дело в
Код
   bulletInstance.GetComponent<Rigidbody>().velocity = spawnPoint.forward * bulletSpeed;

Проверь bulletSpeed / spawnPoint.forward - с большой долей вероятности там где-т по нулям и как результат стояние на месте. Либо скорость слишком маленькая - это самые очевидные варианты.


ACTORS - мой фреймворк на Unity
Until We Die - игра над которой работаю

JackNazaryanДата: Четверг, 30 Мая 2019, 11:15 | Сообщение # 3
старожил
Сейчас нет на сайте
Пуля просто не дура

Сделайте проверку финального значения velocity, если оно меньше нуля - ставьте какое-нибудь небольшое значение, например. В целом, как подметил pixeye, дело либо в нуле где-нибудь, либо в других значениях.
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг