• 1分11选5官网

  • 1分11选5官网

  • 1分11选5官网

  • 1分11选5官网

1分11选5官网

作者(zhe)︰HONT  發布日期︰2020-02-21 20:54:21
Tag標簽(qian)︰機器人  
  • 做為Unity早期的經典demo,一(yi)直bei).5以(yi)後沿用到4.7.x版(ban)本。但其內部一(yi)些做法十(shi)分不合(he)理(li)。比(bi)如使用過多的根目(mu)錄,

    創(chuang)建怪物和玩家不用SpawnPoint。AI、CheckPoint的代碼(ma)實現過于隨意,代碼(ma)命名風格詭異等等。。

    並且網上也有很(hen)多相關的學習(xi)文章(zhang),所以(yi)我(wo)精簡(jian)了一(yi)下,將(jiang)一(yi)些有用的部分學習(xi)並記錄下來

    1.主(zhu)角(jiao)武器部分

    WeaponSlot為武器主(zhu)要(yao)GameObject節點,里面有各種相關腳本。

    其中瞄準線(LaserScope)通(tong)過LineRenderer實現︰

    其Shader額外加了一(yi)個Noise效果(guo),然後通(tong)過腳本改(gai)變uv位(wei)置和縮放。腳本為LaserScope,shader路徑AngryBots/FX/LaserScope

    而(er)映射在目(mu)標上xi)牡閌褂妹嫫pian),並根據每幀(zheng)發射的射線取得法線方jiao)蛐xiu)改(gai)位(wei)置和方jiao)頡J迪忠蒼aserScope里

    另外,為了防(fang)止每一(yi)幀(zheng)多次取得射線導致的mu)   men)有一(yi)個腳本PerFrameRaycast緩存射線內容,並且每幀(zheng)更新。

    復制(zhi)代碼(ma)
    function Awake () { tr = transform;}function Update () { // Cast a ray to find out the end point of the laser hitInfo = RaycastHit (); Physics.Raycast (tr.position, tr.forward, hitInfo);}function GetHitInfo () : RaycastHit { return hitInfo;}
    復制(zhi)代碼(ma)

    2.雨水(shui)實現

    雨水(shui)的做法並非主(zhu)流的在相機前(qian)加一(yi)個塊(kuai)狀的粒子(zi)發射器。而(er)是用Mesh的移動(dong)來實現

    具體腳本在RainBox中,並通(tong)過RainManager獲取儲存的雨點Mesh。每一(yi)個Mesh都(du)包含若干雨點面片(pian)

    落在地上xi)牧頒粢彩(cai)前(qian)  擅嫫pian)的Mesh,並且有多個。其腳本在RainsplashBox中,通(tong)過Shader(AngryBots/FX/RainSplash)來播(bo)放漣漪的陣(zhen)列xing)/p>

    shader中根據不同坐標,取得不同播(bo)放時間︰

    half timeVal = frac(_Time.z * 0.5 + v.texcoord1.x) * 2.0;

    另外其中一(yi)處循環取數(shu)組元素的腳本比(bi)較(jiao)有趣(做了下修(xiu)改(gai))︰

    復制(zhi)代碼(ma)
    int mIndex;void Update(){ var collectionLength = 5; var a = (mIndex++) % collectionLength; Debug.Log('a: ' + a);//0,1,2,3,4 ... 0,1,2,3,4}
    復制(zhi)代碼(ma)

    1分11选5官网

    沒想到居然做了實時的反射︰

    其做法比(bi)較(jiao)經典,通(tong)過一(yi)個反射相機獲得反射內容,並用層Mask過濾(lv)shuo)孛嫻饒諶藎 〉剿shui)平jiao)叩牡悖 艘yi)反射矩(ju)陣(zhen)得到反射位(wei)置。

    腳本在ReflectionFx中,參數(shu)如下︰

    幾項重要(yao)參數(shu)︰

    Reflective Object反射的對象(xiang),這里只是用這個集(ji)合(he)里的元素取一(yi)個最近位(wei)置,並作為水(shui)平面參考(kao)得到反射點。

    Reflective Materials 反射材質,用于把(ba)得到的RenderTexture丟到里面,Reflecction Sampler是賦(fu)值的Tex通(tong)道名稱。

    Replacement Shader 處理(li)反射的Shader,如果(guo)要(yao)拿來cong)每ke)以(yi)直ben)涌獎bei)該(gai)項目(mu)里的

    目(mu)前(qian)已經到了Unity5,鏡面反射的處理(li)方法已經非常多了,這里枚(mei)舉兩個︰

    The Blacksmith里的帶模糊(hu)效果(guo)的高質量鏡面反射︰http://www.cnblogs.com/hont/p/5658491.html

    使用反射探頭實現的的鏡面反射: http://www.cnblogs.com/hont/p/6091055.html

    另外,關于傳統(tong)實時鏡面反射實現,這里還有一(yi)個文章(zhang)推(tui)薦︰http://gad.qq.com/article/detail/7157554

    4.其他內容補充

    1.游戲圖像品質管理(li)位(wei)于QualityManager中,其中ShaderDatabase腳本儲存shader信息,並在修(xiu)改(gai)品質時對shader maximum LOD進行批量修(xiu)改(gai)。

    2.MaterialImpactManager里存放的是物理(li)材質和音(yin)效的映射表

    3.ReflectiveBackgroundArbitrary的Shader里直ben)佣戀ightMap,對于有要(yao)取到Lightmap需求的Shader,可(ke)以(yi)參考(kao)這個。

    4.當前(qian)環境的色調等內容管理(li)放在MoodBox里,包括MoodBoxManager,這套東西統(tong)稱為MoodBox System。我(wo)不太確fan)ood這種命名是否官(guan)方,先(xian)記下。

    5.Editor下有一(yi)個導出obj工具.導出後在ExportedObj文件夾(jia)下,可(ke)以(yi)直ben)擁汲obj格式模型(xing),但是許多細小(xiao)的零(ling)件模型(xing),而(er)並非整合(he)的。

    6.Editor下還有一(yi)個天空盒生成器和Cubemap生成器,只需要(yao)提供一(yi)個點,即可(ke)輔助生成

    7.Patrol Route 巡邏路線腳本,也可(ke)以(yi)繪制(zhi)曲(qu)線

About IT165 -廣告(gao)服務 -隱(yin)私聲明 -版(ban)權申明 -免(mian)責條款 -網站地圖 -網友投(tou)稿 -聯系(xi)方式
本站內容來自于互聯網,僅供用于網絡技術學習(xi),學習(xi)中請(qing)遵循相關法律法規
1分11选5官网 | 下一页