помогите со скриптом прицела - Форум Игроделов
Чт, 02 Май 2024, 05:49 
 
Приветствую Вас Гость Главная | Регистрация | Вход
Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Форум Игроделов » UNITY3D » СКРИПТИНГ » помогите со скриптом прицела
помогите со скриптом прицела
ivan9090Дата: Пн, 04 Янв 2016, 17:10 | Сообщение # 1
Нет аватара
 
Сообщений: 9
Награды: 0
Репутация: 7
Статус: Offline
привет форумчане помогите со скриптом плиз
пытаюсь сделать прицел для танка прицел находиться непостоянно в центре а рисуеться там куда смотрит дуло танкаделаю это вот таким скриптом сильно несмейтесь я неособо разбираюсь в скриптах
Код
var tex : Texture2D; //тут картинка прицела
var shirina = 0; //переменная ширины
var visota = 0; //переменная высоты
function Update () {
var fwd = transform.TransformDirection (Vector3.forward); //пускаю луч из дула танка каждый кадр
var hit : RaycastHit; //переменная хранения инфы о луче
if (Physics.Raycast (transform.position, fwd, 1000)) { //если луч попал кудато
shirina = hit.point.x; //беру координаты икс из луча и кладу их в переменную ширина
visota = hit.point.z;}} //тоже самое только координаты зет
function OnGUI () { //рисую текстуру прицела вставив переменные под значение ширина и высота
GUI.DrawTexture(new Rect((Screen.width - shirina) / 2, (Screen.height -visota) / 20, 100, 50), tex);}


я так думаю это несамый лучший вариант но думаю если поможите наладить то работать будет

Добавлено (04 Янв 2016, 17:10)
---------------------------------------------
я немного поговорил с разработчиками юнити они сказали делать вот но я ничё непонял и кароче сделал вот так
[var texa : Texture2D; тут тексура прицела
var tex : Vector3; переменная для приёма координат икс игрек зет
function Update(){ ненужная строчка
var direction = transform.TransformDirection(Vector3.forward); от куда пойдёт луч и куда
var hit : RaycastHit; переменная
if (Physics.Raycast (transform.position, direction, hit)) а вот и лучик
{
Debug.DrawLine(transform.position, hit.point,Color.red); прошу великий комп сделать луч видимым
tex = Camera.main.WorldToScreenPoint(hit.point);}}запихиваю координаты х у зет в переменную только непонятно координаты какого места луча конца или начала

а дальше вот незнаю как взять координаты вектор 3 и перевести их в экранные
и непонимаю зачем мне вектор три если в хите должны и так быть вся инфа
может кто посоветует чё
]


в жопу физику трансформ.позишион спасёт игру

Сообщение отредактировал ivan9090 - Пн, 04 Янв 2016, 17:23
 
Сообщениепривет форумчане помогите со скриптом плиз
пытаюсь сделать прицел для танка прицел находиться непостоянно в центре а рисуеться там куда смотрит дуло танкаделаю это вот таким скриптом сильно несмейтесь я неособо разбираюсь в скриптах
Код
var tex : Texture2D; //тут картинка прицела
var shirina = 0; //переменная ширины
var visota = 0; //переменная высоты
function Update () {
var fwd = transform.TransformDirection (Vector3.forward); //пускаю луч из дула танка каждый кадр
var hit : RaycastHit; //переменная хранения инфы о луче
if (Physics.Raycast (transform.position, fwd, 1000)) { //если луч попал кудато
shirina = hit.point.x; //беру координаты икс из луча и кладу их в переменную ширина
visota = hit.point.z;}} //тоже самое только координаты зет
function OnGUI () { //рисую текстуру прицела вставив переменные под значение ширина и высота
GUI.DrawTexture(new Rect((Screen.width - shirina) / 2, (Screen.height -visota) / 20, 100, 50), tex);}


я так думаю это несамый лучший вариант но думаю если поможите наладить то работать будет

Добавлено (04 Янв 2016, 17:10)
---------------------------------------------
я немного поговорил с разработчиками юнити они сказали делать вот но я ничё непонял и кароче сделал вот так
[var texa : Texture2D; тут тексура прицела
var tex : Vector3; переменная для приёма координат икс игрек зет
function Update(){ ненужная строчка
var direction = transform.TransformDirection(Vector3.forward); от куда пойдёт луч и куда
var hit : RaycastHit; переменная
if (Physics.Raycast (transform.position, direction, hit)) а вот и лучик
{
Debug.DrawLine(transform.position, hit.point,Color.red); прошу великий комп сделать луч видимым
tex = Camera.main.WorldToScreenPoint(hit.point);}}запихиваю координаты х у зет в переменную только непонятно координаты какого места луча конца или начала

а дальше вот незнаю как взять координаты вектор 3 и перевести их в экранные
и непонимаю зачем мне вектор три если в хите должны и так быть вся инфа
может кто посоветует чё
]

Автор - ivan9090
Дата добавления - 04 Янв 2016 в 17:10
Форум Игроделов » UNITY3D » СКРИПТИНГ » помогите со скриптом прицела
  • Страница 1 из 1
  • 1
Поиск:
Загрузка...

Game Creating CommUnity © 2009 - 2024