Unity開發--(三)Shader程式設計:寫一個shader讓圖片的背面不被剔除
原因
面試了一家VR房地產公司,給了幾張圖片,要求做出VR漫遊效果。通過3個小時研究,我發現問題還是在shader這一塊,故貼出程式碼,如果其他小朋友遇到就可以嘗試一下,下面的方法
問題:
將圖片直接扔到材質球中,結果並不能很好的顯示,而且場景光線很暗。原有的光線並不能很好的展示。
怎麼做?
首先將素材開啟
其次拖入工程,選取下面的模式
建立一個材質球
建立一個shader
shader程式碼
如果看不懂,請看我之前的兩篇部落格。就可以看明白下面寫的什麼了。
Shader "Custom/SYShader" {
Properties
{
_Color("Color", Color) = (1,1,1,1)
_MainTex("Texture", 2D) = "white"{}
}
SubShader
{
//Ambient pass
Pass
{
Name "BASE"
Tags{ "LightMode" = "Always" /* Upgrade NOTE: changed from PixelOrNone to Always */ }
Color[_PPLAmbient]
SetTexture[_BumpMap]
{
constantColor(.5,.5,.5)
combine constant lerp(texture) previous
}
SetTexture[_MainTex]
{
constantColor[_Color]
Combine texture * previous DOUBLE, texture *constant
}
}
//Vertex lights
Pass{
Name "BASE"
Tags{ "LightMode" = "Vertex" }
Material
{
Diffuse[_Color]
Emission[_PPLAmbient]
Shininess[_Shininess]
Specular[_SpecColor]
}
SeparateSpecular On
Lighting On
cull off
SetTexture[_BumpMap]
{
constantColor(.5,.5,.5)
combine constant lerp(texture) previous
}
SetTexture[_MainTex]
{
Combine texture *previous DOUBLE, texture *primary
}
}
}
FallBack "Diffuse", 1
}
}
再建立一個Sphere物體,放大10倍,最後將材質球應用就Ok了!
相關文章
- Unity Shader 00 - 梳理 Unity Shader 的基本結構Unity
- 寫一個Geometry Shader
- unity 統一替換shaderUnity
- shader程式設計基礎:畫線程式設計
- Unity 的 Surface Shader有關記錄Unity
- 一個簡單的Tessellation Shader
- unity shader 溶解,上下左右,cutoffUnity
- Unity Shader 基於光照圖的簡易晝夜變化Unity
- Unity Shader 入門精要 筆記(1)Unity筆記
- Unity3D 透明物體ShaderUnity3D
- GPU精粹與Shader程式設計(三):實時輝光與透視陰影貼圖GPU程式設計
- Unity&Shader常用函式的使用方法Unity函式
- Unity Shader 實現雨天的水面漣漪效果Unity
- GPU精粹與Shader程式設計(一):關於基礎物理渲染GPU程式設計
- 寫 Shader 轉場的幾點思考
- OpenGL shader 程式基礎
- GPU精粹與Shader程式設計(四):真實感渲染GPU程式設計
- Unity3D學習筆記3——Unity Shader的初步使用Unity3D筆記
- Unity Shader-後處理:Bloom全屏泛光UnityOOM
- Shader 中的顏色計算
- Shader 中的座標計算
- Compute Shader
- Unity Shader基於視差對映的雲海效果Unity
- 如何給普通圖片加上水波紋【shader 奇技淫巧】
- 【Shader】ComputeScreenPos 的使用
- Shader 繪製基礎圖形
- Unity Shader之磨砂玻璃與水霧玻璃效果Unity
- Unity Shader之雙面材質和多Pass渲染Unity
- 【Rust網路程式設計】開發一個圖片代理和統計服務Rust程式設計
- Unity Shader- UV動畫原理及簡易實現Unity動畫
- Unity的Forward+ FPTL光照剔除解析(三)UnityForward
- godot shader 升級Go
- Compute Shader 簡介
- GPU精粹與Shader程式設計(二):次表面散射與環境光遮蔽GPU程式設計
- Unity的Forward+ FPTL光照剔除解析(一)UnityForward
- WebGL Shader 環境搭建Web
- OpenGL Shader Key Points (3)
- Godot 字型邊框shaderGo
- Unity的Shader學習筆記(09)[20/12/24_週四][33-36]Unity筆記