Untiy相机实现游戏透视效果
前言:(說(shuō)一些廢話)小伙伴們?cè)谕婢W(wǎng)游類似CF、吃雞等槍戰(zhàn)游戲時(shí),最想擁有的肯定最厲害的武器,然而最厲害的武器其實(shí)是知己知彼,當(dāng)你知道了對(duì)方的位置時(shí),那這局對(duì)戰(zhàn)就毫無(wú)懸念了。今天我們就簡(jiǎn)單的制作一個(gè)類似游戲透視外掛的一個(gè)效果。(如果你們學(xué)會(huì)了去搞游戲外掛被搞了不要提我哦,哈哈,我只提供技術(shù),覺得還可以的話就關(guān)注我哦~)
效果圖:
最終效果,前面是相機(jī)渲染到Plane上的畫面
藍(lán)色遮擋后面有不同顏色的Cube
原理:
下面簡(jiǎn)單說(shuō)一下原理:
首先第一步就是對(duì)相機(jī)的處理,將相機(jī)的畫面渲染到物體上,這一步很簡(jiǎn)單,但也是必需 的一步。
第二步就是對(duì)相機(jī)進(jìn)行處理(Shader)
第三步調(diào)整相機(jī)位置達(dá)到想要的效果
下面開始制作:
1.相機(jī)制作(主相機(jī)和透視相機(jī))
主相機(jī)可以看到所有層級(jí)的物體,并顯示在Plane上,透視相機(jī)只能看到指定層級(jí)的物體,顯示在Plane上,達(dá)到透視的效果。
1.1 主相機(jī)制作
1.1.1 創(chuàng)建一個(gè)Camera,不要用自帶的MainCamera,簡(jiǎn)單調(diào)整參數(shù) 或者默認(rèn)參數(shù)即可
1.1.2 創(chuàng)建一個(gè)RenderTexture,命名如上圖,并添加到相機(jī)上
1.1.3 創(chuàng)建一個(gè)Plane,相機(jī)畫面會(huì)渲染到Plane上面,屬性如下
1.1.4 創(chuàng)建一個(gè)材質(zhì)球,一個(gè)Shader,掛載到創(chuàng)建的Plane上面 如上圖:
Shader "Custom/_MainTex" {Properties{_MainTex("Texture", 2D) = "white" {}_LuminosityAmount("GrayScale Amount", Range(0.0,1.0)) = 1.0}SubShader{Pass{CGPROGRAM#pragma vertex vert_img#pragma fragment frag#pragma fragmentoption ARB_precision_hint_fastest#include "UnityCG.cginc"sampler2D _MainTex;fixed _LuminosityAmount;fixed4 frag(v2f_img i) : SV_Target{fixed4 renderTex = tex2D(_MainTex, i.uv);float luminosity = 0.299 * renderTex.r + 0.587 * renderTex.g + 0.114 * renderTex.b;fixed4 col = lerp(renderTex, luminosity,_LuminosityAmount);return col;}ENDCG}} }1.1.5 主相機(jī)完成 效果圖如下 可以將相機(jī)作為Plane的子物體,調(diào)整相機(jī)角度,效果像照相機(jī)一樣
1.2 透視相機(jī)制作
1.2.1 創(chuàng)建一個(gè)新的Camera,命名為Camera(1)
修改相機(jī)參數(shù)如下:
其中的CullingMask為你要透視看到的物體的層級(jí),物體的層級(jí)在之前就要手動(dòng)設(shè)置好。TargetTexture 需要新建一個(gè)RenderTexture 拖入到這里。
然后為這個(gè)相機(jī)添加一個(gè)腳本:
其中的_MatDeapth 為一個(gè)新建材質(zhì)
1.2.2 創(chuàng)建一個(gè)新的Plane用來(lái)渲染透視相機(jī)的畫面,創(chuàng)建一個(gè)新的材質(zhì)球,新的Plane上面掛載一個(gè)材質(zhì)球
Base(RGB)Trans(A)處為剛才新建的RenderTexture拖入進(jìn)來(lái)就OK了。
1.2.3 最后的提示
層級(jí)一定要先設(shè)置好,主相機(jī)看到的應(yīng)該是所有Layer 透視相機(jī)根據(jù)你的需要來(lái)選擇看到的層級(jí),我選擇的是只看Cube這種模型,我給他自己分的一個(gè)層級(jí)用來(lái)測(cè)試。
相機(jī)的位置,我做的是兩個(gè)相機(jī)的視野還有大小位置都是一樣的,重疊的兩個(gè)相機(jī),只不過(guò)分工不同而已,還有重要的一點(diǎn)就是 透視的相機(jī)要放在主相機(jī)下面,作為主相機(jī)的子物體。
如圖:
如果跟我的層級(jí)一樣的話可以實(shí)現(xiàn)最終效果,透視的效果。
2.結(jié)尾
最后一步,如果兩個(gè)相機(jī)重疊的話,只需要一步,把透視相機(jī)的Y軸 在我這里是Y軸稍微增加一點(diǎn)點(diǎn)0.01就可以,意思就是透視相機(jī)要顯示在前面,先看到透視相機(jī)的畫面,然后后面是主相機(jī)看到的畫面,這樣才能達(dá)到想要的效果。小伙伴們可以根據(jù)自己的需要來(lái)調(diào)試,不懂的可以問我哈。
~~歡迎轉(zhuǎn)載關(guān)注評(píng)論,謝謝閱讀。
總結(jié)
以上是生活随笔為你收集整理的Untiy相机实现游戏透视效果的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 周末,说下我喜欢的篮球
- 下一篇: 那些喝吐的酒~