1. <nobr id="easjo"><address id="easjo"></address></nobr>

      <track id="easjo"><source id="easjo"></source></track>
      1. 
        

      2. <bdo id="easjo"><optgroup id="easjo"></optgroup></bdo>
      3. <track id="easjo"><source id="easjo"><em id="easjo"></em></source></track><option id="easjo"><span id="easjo"><em id="easjo"></em></span></option>
          貴州做網站公司
          貴州做網站公司~專業!靠譜!
          10年網站模板開發經驗,熟悉國內外開源網站程序,包括DEDECMS,WordPress,ZBlog,Discuz! 等網站程序,可為您提供網站建設,網站克隆,仿站,網頁設計,網站制作,網站推廣優化等服務。我們專注高端營銷型網站,企業官網,集團官網,自適應網站,手機網站,網絡營銷,網站優化,網站服務器環境搭建以及托管運維等。為客戶提供一站式網站解決方案?。?!

          projector(Unity3D中Projector怎么用)

          來源:互聯網轉載 時間:2024-05-08 14:22:00

          Projector

          【原理】

          Projector能將一個Material投影到所有在設定的平截頭體內的物體上。通常包含兩張貼圖Cookie和Falloff。Cookie就是投影的圖案,Falloff的作用主要是根絕距離來決定投影的Alpha即明暗。Falloff左邊為白色,alpha值為1,對應投影距離最近時最亮,右邊接近全黑,alpha值為0,表示投影距離變遠時投影會漸漸接近透明甚至看不見。

          【可以實現】

          0 角色選擇光圈

          1 普通圓點陰影(blob shadow)

          2 偽動態陰影(Fake Dynamic shadow)

          3 光的投影

          4 投影儀(根據Meterial的貼圖,可以是圖片,視頻,另一個相機看到的景象)

          5 3D或者2D手電筒的效果

          【使用步驟】

          一. 創建Projector.

          可以創建空GameObject,然后從Component處添加Projector組件如下圖

          也可以Import Package-> Projector,導入Projector包。包內容如下

          二:注意事項

          1.確保Cookie Texture一定要設置為Clamp

          2.為了避免projector bleeding, Cookie Texture 開啟Border Mipmaps選項, 或者直接禁用Mipmap

          3FallOff

          不管是orthographic還是不是。

          如果不用FallOff, 投影下來的都是最亮即alpha為1的cookie,并且會向frustrum的正反2個方向投影,造成我們并不想看到的“雙重投影”的效果。用系統包帶的Falloff貼圖的話。投影會隨著距離變淡。

          【實例演示】

          例0:角色腳下的光圈

          projector所使用的shader如下,再加上腳本控制projector旋轉即可。

          Shader "Custom/Circle" {
          Properties {
          _ShadowTex ("Cookie", 2D) = "gray" { TexGen ObjectLinear }
          }
          Subshader {
          Tags { "RenderType"="Transparent-1" }
          Pass {
          ZWrite Off
          Fog { Color (1, 1, 1) }
          AlphaTest Greater 0
          ColorMask RGB
          Blend DstColor Zero
          SetTexture [_ShadowTex] {
          combine texture,texture
          Matrix [_Projector]
          }
          }
          }
          }

          或者用Vertex&Fragment

          Shader"Custom/Circle"{
          Properties{
          _ShadowTex("Cookie",2D)=""{}
          }
          Subshader{
          pass{
          ZWriteoff
          BlendDstColorOne
          CGPROGRAM
          #pragmavertexvert
          #pragmafragmentfrag
          #include"UnityCG.cginc"

          sampler2D_ShadowTex;
          float4x4_Projector;

          structv2f{
          float4pos:SV_POSITION;
          float4texc:TEXCOORD0;
          };
          v2fvert(appdata_basev)
          {
          v2fo;
          o.pos=mul(UNITY_MATRIX_MVP,v.vertex);
          o.texc=mul(_Projector,v.vertex);
          returno;
          }
          float4frag(v2fi):COLOR
          {
          float4c=tex2Dproj(_ShadowTex,i.texc);
          returnc;
          }
          ENDCG
          }//endpass
          }
          }

          例1: 普通圓點陰影(blob shadow)

          加在角色下面,記得把角色的layer加進 projector設置下的'Ignore Layer'即可。

          Shader "Projector/Multiply" {
          Properties {
          _ShadowTex ("Cookie", 2D) = "gray" { TexGen ObjectLinear }
          _FalloffTex ("FallOff", 2D) = "white" { TexGen ObjectLinear}
          }

          Subshader {
          Tags { "RenderType"="Transparent-1" }
          Pass {
          ZWrite Off
          Fog { Color (1, 1, 1) }
          AlphaTest Greater 0
          ColorMask RGB
          Blend DstColor Zero
          Offset -1, -1
          SetTexture [_ShadowTex] {
          combine texture, ONE - texture
          Matrix [_Projector]
          }
          SetTexture [_FalloffTex] {
          constantColor (1,1,1,0)
          combine previous lerp (texture) constant
          Matrix [_ProjectorClip]
          }
          }
          }
          }

          2 偽動態陰影(Fake Dynamic shadow)

          就是用3d Max或者 Maya或者Unity,先把動畫對應的陰影烘焙好, 做成序列幀。然后用projector的材質做對應的幀動畫即可。

          3 光的投影

          基本是就把黑的blob cookie換成 中間是白色的cookie即可。

          4 投影儀(根據Meterial的貼圖,可以是圖片,視頻,另一個相機看到的景象)

          另一個相機繪制到RenderTexture,然后projector的材質使用RenderTexture即可

          5 3D或者2D手電筒的效果就是projector的方向和范圍設置和手電一致。把電筒的光顏色投出去即可。

          標簽:projector-

          c語言中正確的字符常量是用一對單引號將一個字符括起表示合法的字符常量。例如‘a’。數值包括整型、浮點型。整型可用十進制,八進制,十六進制。八進制前面要加0,后面...

          2022年天津專場考試原定于3月19日舉行,受疫情影響確定延期,但目前延期后的考試時間推遲。 符合報名條件的考生,須在規定時間登錄招考資訊網(www.zha...

          :喜歡聽,樂意看。指很受歡迎?!巴卣官Y料”喜聞樂見:[ xǐ wén lè jiàn ]詳細解釋1. 【解釋】:喜歡聽,樂意看。指很受歡迎。2. 【示例】:這是...

          關 于 dnf寒冰光劍 寒冰劍光子劍的知識大家了解嗎?以下就是小編整理的關于dnf寒冰光劍 寒冰劍光子劍的介紹,希望對大家有幫助!DNF寒冰光劍 - 冰雪神器的誕生【資料圖】DNF是一款以魔幻風為主題的大型多人在線角色扮演游戲,這個游戲不僅有著精美的畫面和豐富的玩法,更有著一批批的熱愛者和忠實粉絲。在DNF游戲中,有很多武器和道具,而其中最受歡迎的武器之一就是寒冰光劍了。那么,究竟是什么讓這把冰雪...

          毛利率和凈利率的區別是什么?1、毛利率和凈利率的定義不同:毛利率是毛利與銷售收入(或營業收入)的百分比,其中毛利是收入和與收入相對應的營業成本之間的差額。凈利率是指凈銷售額占營業收入的百分比或投入資本的百分比。這個百分比可以綜合反映一個企業或者一個行業的經營效率。凈利率是說明企業收入1塊錢能凈賺多少錢。2、毛利率和凈利率的計算公式不同:毛利率=毛利/營業收入×100%=(主營業務收入-...

          什么是平倉盈虧?平倉盈虧與持倉盈虧相對。期貨交易者在實際平倉時所發生的損益。分為即日平倉盈虧和延至平倉盈虧。即日平倉盈虧指當日開倉并平倉的盈虧,延至平倉盈虧指以前開倉當日平倉的盈虧。平倉盈虧就是你把手上的單子平倉后當天賺了或者虧了的錢,要是你的單子是今天開的倉就很好算,但是要是你的單子是以前開的那么平倉盈虧是按昨天結算價計算的。結算價是指當日收盤后,用來結算你盈虧的價格。股市里常用收盤價計算盈虧,...

          TOP
          国产初高中生视频在线观看|亚洲一区中文|久久亚洲欧美国产精品|黄色网站入口免费进人
          1. <nobr id="easjo"><address id="easjo"></address></nobr>

              <track id="easjo"><source id="easjo"></source></track>
              1. 
                

              2. <bdo id="easjo"><optgroup id="easjo"></optgroup></bdo>
              3. <track id="easjo"><source id="easjo"><em id="easjo"></em></source></track><option id="easjo"><span id="easjo"><em id="easjo"></em></span></option>