原创 unity人物血條

效果圖 這次用的是上次虛擬搖桿的工程文件,需要的可去下載 1、新建一個PlayerHup的c#腳本,並把它拖給人物模型,代碼如下 using UnityEngine; using System.Collections; public

原创 Unity 5.3 Assetbundle熱更資源

Unity5以下的版本,要導出AssetBundle需要自己寫一大坨導出的代碼(BuildPipeline),想正確處理好資源的依賴關係從而保證資源完整而又不會產生重複資源是一件非常困難的事。Unity5新的AssetBundle系統大大

原创 Shader描邊

在視空中擠出或沿法線擠出一點就可以得到一個物體的描邊,但是如果模犁很複雜,有些地方繼續要按照法線方向擠出,有些方向卻需要按照頂點方向擠出, 因些需要判定什麼時候頂點方向指向幾何中心,什麼時候背離它,通過頂點和法線的點乘就可以知道指向還是背

原创 大逃殺小地圖毒氣圈和安全區顯示

要做這個功能有兩個簡單的方法 一種是在用程序生成一張圖片,然後根據毒氣圈和安全區位置和大小往裏面填顏色 另一種渲染小地圖這種圖片的同時用shader把毒氣圈和安全區位置都畫出來 第一種方法太麻煩了,如果生成的圖片太大,性能也不好所以這裏只

原创 Unity用Shader實現波浪效果

實現的原理:讓頂點的Y軸按正弦變化(餘弦變化也可以),核心代碼就一句 i.uv.y += (_Amplitude * sin(_AngularVelocity * i.uv.x + _Speed * _Time.y));  Shader

原创 用ETC壓縮Unity圖片資源

Shader "Custom/TextureETC" { Properties { _MainTex ("Base (RGB)", 2D) = "white" { } _AlphaTex("AlphaTex",2D) =

原创 untiy 3d結合Brainiac Designer做遊戲Ai(二)

上一篇已經介紹了怎麼用Brainiac Designer做行爲樹,這一篇將會介紹怎麼把生成的ai結合到untiy裏 首先導出的ai代碼拷到untiy裏,然後新建一個行爲樹框加BehaviorTree.cs,定義各種節點,代碼比較簡單,根本

原创 untiy 3d結合Brainiac Designer做遊戲Ai(一)

談到遊戲Ai,總是避免不了談到行爲樹,雖然untiy3d有很多非常優秀的行爲樹插件可以實現Ai,但是很多都是已經被封裝好了,不容易修改其中的源碼,Brainiac Designer是一個非常好用的開源的行爲樹編輯器,可以生成cpp、lua

原创 untiy 技能系統及編輯器

項目已經被解散了,但是項目中實現的技能系統真的是一套非常優秀的系統,可以脫離配置表,實現高度靈活配置,只要把基本的行爲實現了,就可以讓策劃自由組合,設計出不同的技能,完全不用程序配合,這裏技能系統大概實現一遍,子彈系統和buff系統大同小

原创 Unity使用protobuf-net實現的網絡框架

設計思想是把協議號和協議類型分別存儲起來,當我們向服務端發送協議的時候,會自動根據協議類型加上協議號,並用protobuf序列化後發給服務端,客戶端收到服務端發回來的協議後,會根據協議號,用protobuf根按協議類型自動反序列化成相應的

原创 shader 流光效果

Shader "Custom/FlashUV" { Properties { _MainTex ("Base (RGB)", 2D) = "white" {} _Layer1Tex("Layer1",2D) = "white"{

原创 漫反射

Shader "Custom/CustomDiffuse" { Properties { _Color ("Color", Color) = (1,1,1,1) } SubShader { Tags { "LigthMode

原创 Unity殘影

可以用兩種方式實現殘影:1. 新建一個Mesh,記錄前幾幀的人物的影像,然後通過後處理混合上去。2.記錄前幾幀的人物位置,將其傳入shader中,對每個位置進行一個pass渲染。 第一方式 using UnityEngine; usin

原创 鏡面反射

Shader "Custom/CustomSpecular" { Properties { _Color ("Color", Color) = (1,1,1,1) _SpeColor("Specular Color", Colo

原创 Unity 3d 幀同步

最近給兩個新人解釋幀同步,寫了一個簡單的幀同步模型,但是公司不給上網,代碼上傳不了,於是回家重寫了一個,但是有些工具類不想寫了,在網上找了一些可以用的代碼湊合着用了。 幀同步的原理就是在一個回合內(一個固定的時間頻率,比如100ms)客戶