в скрипте на проджектайл постоянный Transform.Translate (newVector * speed) при этом newVector я передаю как hit.position когда инициирую новый проджектайл. И еще вопрос, райкастит только по физ обьектам, но мне нужно чтоб райкаст шёл и в никуда получая через 100 метров к примеру hit.point
Проблема в чём? То что пуля летит не туда?
в Debug.Drawline все ок райккастит
скрины кода на будущее меньше делай, а то у тебя пол экрана это просто визуалка и по итогу качество шакальное
потому что у тебя в вектор записывается hit.point а тебе надо направление посчитать как hit.point - playerCamera.transform.position или ещё проще делай, в вектор пиши _playerCamera.transform.forward
Немного не в тему отвечу, просто на будущее, не используй пж регионы внутри методов - это люто. Лучше выноси либо в локальный метод, либо просто в приватный - это намного лучше читается
так это не методы это в апдейте
апдейт тоже метод
а ты рейкаст стреляешь просто так чтоли? Так понимаю тебе надо просто выстрел реализовать, если так, то рейкаст не нужен
да я уже понял, хотел через райкаст реализовать, но теперь допёр что он не нужен когда есть playerCamera.transform.forward
да и вот вроде объяснил
Кидай через transform.forward камеры. А в скрипте двигай через Rigidbody.
ну на что то ты навёл конечно, но проблема в том что он райкастит только на обьекты, если стрелять в небо то райкаста и соответсвенно hit.poin Нет
так ты определись для начала где у тебя мяч спавнится если в центре камеры, то рейкаст не нужен если гдето не в центре камеры, то тогда нужен рейкаст
if (Input.GetMouseButtonDown(0)) { RaycastHit hit; Ray ray = new Ray(projectileStartPos.position, playerCamera.transform.forward); Physics.Raycast(ray, out hit); var newProjectile = Instantiate(projectile, projectileStartPos.position, Quaternion.identity); newProjectile.GetComponent<Projectile>().newVector = hit.point - projectileStartPos.position; } вот сейчас я получил то что нужно, однако при клике на небо снаряд летит куда то влево
тогда можешь использовать вот этот приём, который я опять же писал выше Ну можно конечно взять точку _camera.transform.forward * 100 например, и от этой точки считать вектор направления
от этой точки в какую точку?
ну можешь на небо колайдер повесить как вариант
Попробуй этот код. Я не тестировал. Тут я примерно накидал. https://pastebin.com/gEGCB60f https://pastebin.com/LhfG67m0
да у него уже так получилось, но он опять решил через рейкаст ему надо чтобы мяч не из камеры вылетал
А откудв? Из Жопы ?
ну говорит из нижнего правого угла
типо рукой кидет ? Или треляет из оружия ? Если так то эток пусть делают эффекты (про стрельбу). А так если это рука - то это извращатсья надо
ну я так понял что что-то вроде пушки, типа ты сидишь такой в пушке, а сам ствол справа у тебя
во, камера в бошке, а снаряд с пушки вылетает)
Обсуждают сегодня