項(xiàng)目中需要制作平面地圖,基礎(chǔ)地塊都是一樣的,為了減少drawCall,我想使用單個(gè)對象來實(shí)現(xiàn)大面積的地層,即創(chuàng)建了一個(gè)Cube,然后拉伸再貼上圖。
過程中發(fā)現(xiàn)貼圖并不會自動平鋪,需要在編輯器里修改材質(zhì)的Tiling才可以,但我的圖層大小是在代碼里動態(tài)設(shè)置的,無法修改Tiling。谷歌搜了一下,說自定義Shader可以做到,但太麻煩了,最后發(fā)現(xiàn)直接修改mainTextureScale即可實(shí)現(xiàn),真是太2了……
貼一下lua代碼
local tp = typeof(UnityEngine.Renderer)
local m = bg:GetComponent(tp).material
m.mainTextureScale = Vector2.New(32, 32)