Instancing 材質屬性塊

2021-10-04 22:07:46 字數 1110 閱讀 7681

instancing+材質屬性塊

適應乙個材質去實現一些引數不同的效果,占用乙個drawcall,這種價效比特別高的方案,可以用在很多地方。

c#部分:

using unityengine;

[executeineditmode]

private void onenable()

private void update()

void onvalidate()

int index = m_index - 1;

float xdelta = 1.0f / m_colnum;

float ydelta = 1.0f / m_rownum;

float col = index % m_colnum;

float row = index / m_colnum;

m_maintex_st.x = xdelta;

m_maintex_st.y = ydelta;

m_maintex_st.z = col * xdelta;

m_maintex_st.w = 1 - xdelta - row * ydelta;

propertyblock.setvector(maintex_st, m_maintex_st);

getcomponent().setpropertyblock(propertyblock);

}}

shader部分:

shader "tools/minimap"

}subshader

blend srcalpha oneminussrcalpha

cull off

zwrite off

pass

;struct v2f

;unity_instancing_buffer_start(props)

unity_define_instanced_prop(half4, _maintex_st)

unity_instancing_buffer_end(props)

float4 frag(v2f i) : sv_target

endhlsl}}

}

塊屬性,行內屬性,行內塊屬性的特點與常見標籤

一 塊屬性 特點 1.可以設定寬高 2.不可以與別人共處一行 3.不設定寬度的情況下,寬度為100 常見標籤 div p ul ol li button h1 h6 p等 二 行內屬性 特點 1.不可以設定寬高 2.可以與別人共處一行 3.其寬高由內容撐開 常見標籤 span 空格的話,頁面會顯示空...

使用驗證塊的屬性 驗證塊屬性定義及驗證規則

驗證屬性 內建驗證應用程式塊屬性和主題中描述的屬性 可以用於各種目標,包括類 字段 屬性 方法和 在有限情況下 引數。有關資訊,請參見驗證屬性目標。還有一組屬性允許您更改其他屬性的行為。這些都是在驗證修飾符屬性中討論的。還可以指定要在單獨的元資料類中使用的屬性。有關此問題的詳細資訊,請參閱。可以在 ...

行內元素 塊元素 行內塊元素 及其屬性

行內元素可以在一行顯示,但是不能設定上下的padding和margin值。塊級元素可以設定 width,height屬性,行內元素設定width,height無效 塊級元素可以設定margin 和 padding.行內元素的水平方向的padding left,padding right,margin...