graphic方法重写 unity_Unity底层Graphics绘制接口

本文介绍了如何使用Unity底层Graphics接口进行高效地绘制贴图和模型。通过Graphics.DrawTexture方法实现贴图裁剪,以及Graphics.DrawMesh和Graphics.DrawMeshNow方法进行模型的绘制,详细阐述了各个方法的参数和使用场景,强调了Graphics接口在性能上的优势。
摘要由CSDN通过智能技术生成

写这篇Unity底层Graphics绘制接口的文章是因为前几天有个朋友问我的一个问题。它的意思是如何在屏幕中绘制贴图的一部分,也就是如何将材质裁剪。

1.使用GUI的话效率不太高,每个部分都需要重新裁剪。

2.使用Mesh网面效率是高了,但是需要每一部分网面增加MeshRenderer组件,效率还是会打折扣。

今天我突然想到了Graphics,按照官方文档的说明它是底层绘制接口,所有GUI和网格的绘制底层都是它,我相信它的运行效率应该是最高的。

OK.我们来学习它。绘制贴图的访法是Graphics.DrawTexture() ,它也是在OnGUI中使用,但是它需要接收到Repaint事件的时候才能绘制。如下图所示,我将一张完整的贴图拆成了4部分。

来看看代码是怎么写的。

publicTexture tex;

voidOnGUI ()

{

if( Event.current.type.Equals(EventType.Repaint) )

{

Graphics.DrawTexture( newRect(200, 100, 128, 128),tex,newRect(0.0f, 0.5f, 0.5f, 0.5f),0, 0, 0,0,null);

Graphics.DrawTexture( newRect(200,250, 128, 128),tex,newRect(0.0f, 0.0f, 0.5f, 0.5f),0, 0, 0,0,null);

Graphics.DrawTexture( newRect(350, 100, 128, 128),tex,newRect(0.5f, 0.5f, 0.5f, 0.5f

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值