unity 创建激光打击效果程序
时间: 2023-08-02 09:05:53 浏览: 96
以下是一个简单的Unity C#脚本示例,用于创建激光打击效果:
```csharp
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Laser : MonoBehaviour
{
public GameObject startObject;
public GameObject endObject;
public float laserWidth = 0.1f;
public Color laserColor = Color.red;
public float laserDuration = 0.1f;
public GameObject impactEffect;
private LineRenderer lineRenderer;
void Start()
{
lineRenderer = gameObject.AddComponent<LineRenderer>();
lineRenderer.startWidth = laserWidth;
lineRenderer.endWidth = laserWidth;
lineRenderer.startColor = laserColor;
lineRenderer.endColor = laserColor;
lineRenderer.positionCount = 2;
lineRenderer.useWorldSpace = true;
}
void Update()
{
lineRenderer.SetPosition(0, startObject.transform.position);
lineRenderer.SetPosition(1, endObject.transform.position);
}
void OnTriggerEnter(Collider other)
{
if (other.gameObject.tag == "Enemy")
{
if (impactEffect != null)
{
GameObject effect = Instantiate(impactEffect, other.ClosestPoint(transform.position), Quaternion.identity);
Destroy(effect, laserDuration);
}
Destroy(other.gameObject);
Destroy(gameObject, laserDuration);
}
}
}
```
在上面的脚本中,我们使用LineRenderer组件来创建激光效果。我们还使用了两个空物体来表示激光的起点和终点。我们可以通过设置这两个物体的位置来控制激光的方向和长度。
在OnTriggerEnter方法中,我们检测到碰撞并销毁敌人对象。我们还可以根据需要添加打击效果,并在一定时间后销毁它们。
请注意,这只是一个简单的示例脚本,你可以根据自己的需要进行修改和扩展。
阅读全文