1 Востаннє редагувалося Betterthanyou (13.07.2019 21:07:26)

Тема: Unity3D Алгоритм руху кулі в "ціль"

Потрібно зробити кулю яка повільно рухається вперед відносно центра камери (прицілу). Куля починає рухатися від зброї, тобто з невеличкім зміщенням. Ось це зміщення потрібно якось усунути. Як це зробити ?

public class ScriptBullet : MonoBehaviour
{
    // Start is called before the first frame update
    void Start()
    {
/* Беру координати центру камери Х і У і повертаю кулю */
        ScriptPlayer player = GameObject.Find("Player").GetComponent<ScriptPlayer>();
        transform.localRotation = Quaternion.Euler( new Vector3(-player.rotationY, player.rotationX, 0));
    }

    // Update is called once per frame
    void Update()
    {
/* Рухаю кулю вперед */
        transform.position += transform.forward * Time.deltaTime * 5;
    }
}

Синій об'єкт - зброя. Зелена сфера - куля. Із за зміщення куля рухається не точно, як це виправити ?
https://replace.org.ua/misc.php?action=pun_attachment&amp;item=1995&amp;download=0

Post's attachments

Untitle888d.png 73.29 kb, 79 downloads since 2019-07-13 

2

Re: Unity3D Алгоритм руху кулі в "ціль"

?

3

Re: Unity3D Алгоритм руху кулі в "ціль"

тобто у вас є камера, котра дивиться в напрямку А, і рушниця, котра дивиться в тому ж напрямку, але зміщена відносно камери, і на лінії напрямку, куди дивиться ваш камера, лежить точка, при цьому ми не знаємо, яка відстань тієї точки, тому що це ж просто мішень по центру екрану, і ви хочете, аби куля завжди летіла в ту мішень?

Подякували: leofun01, Betterthanyou2