美文网首页
Unity3D材质平铺实现大地图

Unity3D材质平铺实现大地图

作者: rekcah1986 | 来源:发表于2017-11-23 10:21 被阅读174次

项目中需要制作平面地图,基础地块都是一样的,为了减少drawCall,我想使用单个对象来实现大面积的地层,即创建了一个Cube,然后拉伸再贴上图。
过程中发现贴图并不会自动平铺,需要在编辑器里修改材质的Tiling才可以,但我的图层大小是在代码里动态设置的,无法修改Tiling。谷歌搜了一下,说自定义Shader可以做到,但太麻烦了,最后发现直接修改mainTextureScale即可实现,真是太2了……

贴一下lua代码

local tp = typeof(UnityEngine.Renderer)
local m = bg:GetComponent(tp).material
m.mainTextureScale = Vector2.New(32, 32)

相关文章

网友评论

      本文标题:Unity3D材质平铺实现大地图

      本文链接:https://www.haomeiwen.com/subject/twnavxtx.html