Unity制作《水果忍者》刀光特效

最近在学习Unity中的LineRenderer组件的时候,突发奇想,想到怎么实现水果忍者的刀光特效

Unity制作《水果忍者》刀光特效_第1张图片

制作起来并没有想象的那么难,只是想让其逼真起来的话需要一张好的材质贴,博主找了一张不是很完美的贴图,实现了下

最终效果图如下

Unity制作《水果忍者》刀光特效_第2张图片

该Demo源码我将上传,提供大家下载

接下来先介绍使用LineRenderer来绘图

在Hierachy面板上创建3D->Panel,调整摄像机位置,使其视野完全看见Panel,目的是Panel作为画布

Unity制作《水果忍者》刀光特效_第3张图片

创建一个脚本,代码如下

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

public class DrawLines : MonoBehaviour
{
	private LineRenderer renderer;
	public Material rendererMaterial;
	private List pointLists;
	private bool isDrawing=false;

	// Use this for initialization
	void Start ()
	{
		pointLists = new List();
		renderer = new LineRenderer();
	}
	
	// Update is called once per frame
	void Update ()
	{
		if (Input.GetMouseButtonDown(0))
		{
			GameObject lineObj = new GameObject();
			lineObj.transform.SetParent(this.transform);
			renderer = lineObj.AddComponent();
			renderer.material = rendererMaterial;
			renderer.startColor = Color.red;
			renderer.endColor = Color.red;
			//renderer.widthMultiplier = 0.1f;
			renderer.startWidth = 0.1f;
			renderer.endWidth = 0.1f;
			

			DrawLineByPoint();

			isDrawing = true;

			Debug.Log("开始绘图");
		}

		if (Input.GetMouseButtonUp(0))
		{
			isDrawing = false;
			pointLists.Clear();

			Debug.Log("绘图结束");
		}

		if (isDrawing)
		{
			DrawLineByPoint();

			renderer.numPositions = pointLists.Count;
			renderer.SetPositions(pointLists.ToArray());

			Debug.Log("正在绘图");
		}
	}

	private void DrawLineByPoint()
	{
		Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
		RaycastHit hit;
		bool isHit = Physics.Raycast(ray,out hit);
		if (isHit)
		{
			Vector3 linePoint = new Vector3(hit.point.x,0,hit.point.z);
			pointLists.Add(linePoint);
		}
	}
}


将其挂载到Panel上,此时Panel需要为其添加Material

我创建了一个下图的Material

Unity制作《水果忍者》刀光特效_第4张图片

运行游戏,绘图正常

Unity制作《水果忍者》刀光特效_第5张图片


刀光特效唯一的特点的是在LineRenderer组件上添加了材质

Unity制作《水果忍者》刀光特效_第6张图片

接下来,我选择了一张贴图(贴图不是很完美,可以按自己的需求选择),添加到材质上,选择了shader

Unity制作《水果忍者》刀光特效_第7张图片

结束!!!之后的效果便是文章开篇的效果了

本人也在寻找一份游戏开发实习工作,如果大佬们需要开发人员,请把我带走

这是我的简历:resume.liujunliang.com.cn/resume.pdf

作品的话可以私聊我哦!

==================== 即步 CSDN博客专栏=================

专栏地址:http://blog.liujunliang.com.cn

网站地址:http://www.liujunliang.com.cn     

==================== battle for programming =============


欢迎转载,转载注明出处!!!

你可能感兴趣的:(移动游戏开发,Unity游戏开发)