Unity知识三:两种方式实现切水果的刀痕

Unity作为游戏开发平台之一,还是有很多实用的小技巧的,今天来学习一下怎样用两种方式来显示切水果游戏中的刀痕:
1.正常显示下的刀痕:
什么叫正常显示下的呢?我们所接触过的切水果游戏一般都是2D游戏,那我们知道,2D游戏可以用Unity直接来做,还可以使用NGUI、UGUI或者其他方法通过UI来实现。
所以我们第一种方法就是不借助UI来做。
首先来看看我们刀痕的素材:(需要的同学可以右键另存。^_^)
这里写图片描述
打开Unity:
这里写图片描述
新建一个空游戏体,命名为“BackGround”,然后在组件面板中添加组件GUI Texture:(创建出来的物体不要忘记reset一下哦~)
这里写图片描述
找到Texture属性,点击后面的圆圈,为它选择一个背景图片:
这里写图片描述
背景素材:
这里写图片描述
添加好背景图片之后,我们看Scenes面板和Game面板,发现了两个问题:
这里写图片描述
1.在Scenes面板中,添加上去的图片看不到;
2.Game面板中图片的位置有点不对。

Scenes中看不到的情况,由于我也是小白,搞不懂原理,但是我猜是因为GUITexture是UI的一部分,所以在Scenes面板中有时候显示效果不好,至于怎么设置去让它显示出来,我暂时还不知道,我现在是以Game面板上的显示情况做参考的。

Game面板下显示不对,我们把它Transform下的Position设置为(0.5,0.5,0):
这里写图片描述
这样就可以了。

接下来我们再新建一个空游戏体,将其命名为Knife,并为其添加LineRenderer组件:
这里写图片描述 这里写图片描述

我们在上面右图中可以找到Materials属性,下面有Size和Element 0.
因为Materials是一个Materials类型的数组,Size是数组的长度,Element是数组元素的值,此时Size为1,那么它就只有一个元素,索引值为0,Element 0因此而来。

我们刚刚创建的游戏体是用来显示刀痕的,那么我们就要把上面我们的刀片素材给它。
大家会发现,直接把图片拖给Element 0不成功,因为Element 0是Material类型的,而图片还不是材质,它现在只是一张图片,对应的材质还没有生成。
我们直接把图片拖给Knife游戏体,Unity会自动为这张图片创建一个材质Material,并把这个材质赋给Element 0;
这里写图片描述
大家可以在Scenes面板中看到它。

接下来,我们找到Line Renderer下的position属性,发现它也是一个数组,这个数组是干什么用的呢?他就是用来画出Line Renderer的关键属性。

实际上Line Renderer是这样的:你给我几个坐标,我把相应的材质在几个坐标之间渲染出来。现在:Element 0为(0,0,0)Element 1为(0,0,1),那就是说,把图片在坐标(0,0,0)和(0,0,1)之间显示出来,因为两点确定一条直线嘛~对不对?

既然我们了解了Line Renderer的原理,那么我们就知道了,我想用鼠标画出一条线,我只要获取到鼠标左键按下时的坐标和鼠标左键抬起时的坐标,然后把它们分别给Element 0和Element 1,那这条线不就是画出来了吗?

那我们就开始写脚本咯:

using UnityEngine;
using System.Collections;

public class tes : MonoBehaviour {

    Vector3 pos1;     //定义起点坐标
    Vector3 pos2;     //定义终点坐标

    LineRenderer myLinRenderer;     //定义一个LineRenderer对象

    // Use this for initialization
    void Start () {
        myLinRenderer = GetComponent<LineRenderer>();     //给LineRenderer对象初始化
    }

    // Update is called once per fra
  • 4
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值