@Wadim_wadim2000

Unity как добавить сюда offset?

У меня вот тут есть скрипт, но он сделан так, что растягивает линию чисто от точки до точки. Подскажите, как сделать так, чтобы линия растягивалась от спрайта до места клика (WorldPos) - например offset, ну то есть, не до точки, а немного ближе.

вот скрипт:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class w : MonoBehaviour
{
    public GameObject arrow_end;
    public GameObject arrow_line;
    public GameObject player;
    public float arrow_end_offset;
    void Start()
    {
        arrow_end.SetActive(false);
    }
    void Update()
    {
        if(Input.GetMouseButtonDown(0))
        {
            var mousePos = Input.mousePosition; mousePos.z = 60f;
            var worldPos = Camera.main.ScreenToWorldPoint(mousePos);
            var sprite_pos = player.transform.position;
            var rot_diff = sprite_pos - worldPos;
            var rotation = (Mathf.Atan2(rot_diff.y, rot_diff.x) * Mathf.Rad2Deg) - 0f;

         
            float dist = Vector2.Distance(sprite_pos, worldPos);

            arrow_end.transform.position = worldPos;
            arrow_end.transform.rotation = Quaternion.Euler(0.0f, 0.0f, rotation);
            arrow_end.transform.position += arrow_end_offset * - arrow_end.transform.up;
            arrow_end.transform.gameObject.SetActive(true);

            arrow_line.transform.position = (sprite_pos + worldPos) / 2f;
            arrow_line.transform.right = Vector3.Normalize(sprite_pos - worldPos);
            Vector3 scale = new Vector3(Vector3.Distance(worldPos, sprite_pos), 1f, 1f);
            arrow_line.transform.localScale = scale;
            
          

           

        }      
    }
}
  • Вопрос задан
  • 457 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы