开枪效果的制作

开枪的时候通常会有一条火舌以及光和声音,这里讲一下在游戏中的开枪效果的制作。

首先你的枪口或是其他设计物体的开火口出要有一个物体,空物体也行,用来定位特效位置,这样比较方便。

然后该物体持有特效子物体、light和LineRenderer组件以及AudioSource组件,这些组件要设置相应的参数,这里引用一下介绍LineRenderer组件的网页:点击打开链接


下面是该物体的脚本:

using UnityEngine;
using System.Collections;

public class PlayerShoot : MonoBehaviour {

    public float shootRate = 8;
    float timer;
    float shootPeriod;
    Light fireLight;
    ParticleSystem particleSystem;//子物体的粒子特效
    LineRenderer lineRenderer;
    AudioSource fireAudio;
    

	// Use this for initialization
	void Start () {
        shootPeriod = 1 / shootRate;
        fireLight = GetComponent<Light>();
        particleSystem = GetComponentInChildren<ParticleSystem>();
        lineRenderer = GetComponent<LineRenderer>() as LineRenderer;
        fireAudio = GetComponent<AudioSource>();
	}
	
	// Update is called once per frame
	void Update () {
	
       
        if (Input.GetMouseButton(1))
        {
            timer += Time.deltaTime;
            if (timer > shootPeriod)
            {
                timer -= shootPeriod;
                Shoot();
            }
        }
       
	}


    void Shoot(){
        fireLight.enabled = true;
        particleSystem.Play();

        //枪发出的射线 当射击到了物体以后火舌停在物体身上,否则火舌从枪口向前延伸100米
        lineRenderer.enabled = true;
        lineRenderer.SetPosition(0, transform.position);
        Ray ray = new Ray(transform.position,transform.forward);
        RaycastHit hitInfo;
        if (Physics.Raycast(ray, out hitInfo))
        {
            lineRenderer.SetPosition(1, hitInfo.point);
        }
        else
        {
            lineRenderer.SetPosition(1, transform.position+transform.forward*100);
        }

        fireAudio.Play();

        Invoke("ClearEffect", 0.05f);
    }

    void ClearEffect()
    {
        lineRenderer.enabled = false;
        fireLight.enabled = false;
    }
}


具体细节这里就不解释了,有不懂得可以百度。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值