shader "coustom/xyzshader"
_moveoffset("moveoffset",vector)=(1,1,1,1)
_scale("scale",vector)=(1,1,1,1)
_rotate("rotateangle",vector) = (0,0,0,1)
} subshader
; struct v2f
;sampler2d _maintex;
float4 _maintex_st;
float4 _moveoffset;
float4 _scale;
float4 _rotate;
//順序:先縮放,後旋轉(z->x->y),後平移
;//縮放矩陣
float4x4 scal_mat=;
//旋轉z軸
float4x4 z_rot_mat = ;
//旋轉x軸
float4x4 x_rot_mat=;
//旋轉y軸
float4x4 y_rot_mat=;
//進行z軸旋轉
float4 world_pos = mul(z_rot_mat,v.vertex);
//進行x軸旋轉
world_pos = mul(x_rot_mat,world_pos);
//進行y軸旋轉
world_pos = mul(y_rot_mat,world_pos);
//進行縮放
world_pos = mul(scal_mat,world_pos);
//進行平移
world_pos = mul(mov_mat,world_pos);
//最後輸出
o.vertex = mul(unity_matrix_vp,world_pos);
o.uv = transform_tex(v.uv, _maintex);
return o;
}fixed4 frag (v2f i) : sv_target
endcg
} }}
Unity3D之Shader自定義編輯器功能拓展
一 前言 最近在開發乙個關卡類的遊戲,在匯入一些3d物體的時候,發現很多時候同乙個3d物體需要渲染的方式不一樣,比如這顆樹要雙面渲染 cull off 但在很多情況下是可以剔除背面 cull back 的,之前在寫shader方面找不到什麼好方法直接控制,乾脆就寫了兩個shader,這就造成了無謂的...
Unity 自定義深度RT
專案裡做水 或者 景深等其他一些效果經常要用到depth buffer。但是unity不許直接訪問depthbuffer.ps 同時讀寫depthbuffer會造成硬體打斷,對效能也不友好 所以,如果想用depth,有三個解決方案 1.也是unity提供的開啟乙個depth pass,應該也會用來當...
Unity 自定義日誌儲存
using unityengine using system.io using system using system.diagnostics using debug unityengine.debug public class debugtrace return m instance endreg...