Unity 2D Как создать лазерный луч, указывающий на игрока? - PullRequest
0 голосов
/ 07 мая 2020

Я создал лазерный объект, который должен появиться в глазу акулы и вращаться так, чтобы он мог ударить игрока, но я не могу заставить его вращаться. Вот видео, что у меня есть: https://drive.google.com/file/d/1Bwjpsp3Wa3b27-JYdspX5gzar7lsu7yk/view?usp=sharing. Это код в моем объекте Laser:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class SharkEye : MonoBehaviour
{

    [SerializeField] Transform player_position;
    [SerializeField] GameObject laser_prefab;

    public void Fire()
    {
        Vector3 direction = player_position.position - transform.position;
        direction = player_position.InverseTransformDirection(direction);
        float rotation_z = Mathf.Atan2(direction.y, direction.x) * Mathf.Rad2Deg;

        GameObject laser = Instantiate(laser_prefab, transform.position, Quaternion.Euler(0.0f, 0.0f, rotation_z)) as GameObject;
    }

}

Функция Fire () вызывается в другом скрипте, и она отлично работает. Спасибо за помощь.

...