資源簡介
非常漂亮的水面擾動效果,可以用來模擬人物在水中游泳的波紋效果
代碼片段和文件信息
using?System.Collections;
using?System.Collections.Generic;
using?UnityEngine;
using?UnityEngine.Rendering;
///?
///?焦散渲染器
///?
public?class?CausticRenderer?:?MonoBehaviour
{
????///?
????///?網格單元格大小
????///?
????public?float?geometryCellSize;
????///?
????///?焦散寬度
????///?
????public?float?width;
????///?
????///?焦散長度
????///?
????public?float?length;
????///?
????///?焦散強度
????///?
????public?float?causticIntensity?=?1.0f;
????///?
????///?深度范圍(該參數目前實現比較簡單,只是簡單的傳入世界空間的最小高度和有效高度范圍,以計算焦散的有效高度范圍(線性插值),暫時沒有實現復雜的范圍計算效果)
????///?
????public?Vector2?causticDepthRange;
????public?Material?material;
????private?Mesh?m_Mesh;
????private?Camera?m_Camera;
????private?RenderTexture?m_RenderTexture;
????private?CommandBuffer?m_CommandBuffer;
????void?Start()
????{
????????m_Camera?=?gameobject.AddComponent();
????????m_Camera.aspect?=?width?/?length;
????????m_Camera.backgroundColor?=?Color.black;
????????//m_Camera.enabled?=?false;
????????m_Camera.depth?=?0;
????????m_Camera.farClipPlane?=?5;
????????m_Camera.nearClipPlane?=?-5;
????????m_Camera.orthographic?=?true;
????????m_Camera.orthographicSize?=?length?*?0.5f;
????????//m_Camera.clearFlags?=?CameraClearFlags.SolidColor;
????????m_Camera.clearFlags?=?CameraClearFlags.SolidColor;
????????m_Camera.allowHDR?=?false;
????????m_Camera.backgroundColor?=?Color.black;
????????m_Camera.cullingMask?=?0;
????????m_RenderTexture?=?RenderTexture.GetTemporary(512?512?16);
????????m_RenderTexture.name?=?“[Caustic]“;
????????m_Camera.targetTexture?=?m_RenderTexture;
????????m_CommandBuffer?=?new?CommandBuffer();
????????m_CommandBuffer.name?=?“[Caustic?CB]“;
????????m_Camera.AddCommandBuffer(CameraEvent.AfterImageEffectsOpaque?m_CommandBuffer);
????????m_Mesh?=?Utils.GenerateLiquidMesh(width?length?geometryCellSize);
????}
????void?OnPostRender()
????{
????????//繪制焦散mesh
????????Matrix4x4?trs?=?Matrix4x4.TRS(transform.position?Quaternion.identity?Vector3.one);
????????m_CommandBuffer.Clear();
????????m_CommandBuffer.ClearRenderTarget(true?true?Color.black);
????????m_CommandBuffer.SetRenderTarget(m_RenderTexture);
????????m_CommandBuffer.DrawMesh(m_Mesh?trs?material);
????????Vector4?plane?=?new?Vector4(0?1?0?Vector3.Dot(new?Vector3(0?1?0)?transform.position));
????????Vector4?range?=?new?Vector4(transform.position.x?transform.position.z?width?*?0.5f?length?*?0.5f);
????????Shader.SetGlobalVector(“_CausticPlane“?plane);
????????Shader.SetGlobalVector(“_CausticRange“?range);
????????Shader.SetGlobalTexture(“_CausticMap“?m_RenderTexture);
????????Shader.SetGlobalVector(“_CausticDepthRange“?causticDepthRange);
????????Shader.SetGlobalFloat(“_CausticIntensity“?causticIntensity);
????}
????void?OnDestroy()
????{
????????if?(m_RenderTexture)
????????????Destroy(m_RenderTexture);
????????if?(m_Mesh)
????????????Destroy(m_Mesh);
????????if?(m_CommandBuffer?!=?null)
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2018-10-08?15:11??UnityWaveEquation-master\
?????文件?????????422??2018-10-08?15:11??UnityWaveEquation-master\.gitignore
?????目錄???????????0??2018-10-08?15:11??UnityWaveEquation-master\Assets\
?????文件?????????191??2018-10-08?15:11??UnityWaveEquation-master\Assets\LiquidSimulator.me
?????目錄???????????0??2018-10-08?15:11??UnityWaveEquation-master\Assets\LiquidSimulator\
?????文件?????????191??2018-10-08?15:11??UnityWaveEquation-master\Assets\LiquidSimulator\Examples.me
?????目錄???????????0??2018-10-08?15:11??UnityWaveEquation-master\Assets\LiquidSimulator\Examples\
?????文件???????26448??2018-10-08?15:11??UnityWaveEquation-master\Assets\LiquidSimulator\Examples\Demo.unity
?????文件?????????174??2018-10-08?15:11??UnityWaveEquation-master\Assets\LiquidSimulator\Examples\Demo.unity.me
?????文件?????????191??2018-10-08?15:11??UnityWaveEquation-master\Assets\LiquidSimulator\Examples\Materials.me
?????目錄???????????0??2018-10-08?15:11??UnityWaveEquation-master\Assets\LiquidSimulator\Examples\Materials\
?????文件?????????191??2018-10-08?15:11??UnityWaveEquation-master\Assets\LiquidSimulator\Examples\Materials\Render.me
?????目錄???????????0??2018-10-08?15:11??UnityWaveEquation-master\Assets\LiquidSimulator\Examples\Materials\Render\
?????文件????????5048??2018-10-08?15:11??UnityWaveEquation-master\Assets\LiquidSimulator\Examples\Materials\Render\caustic.mat
?????文件?????????207??2018-10-08?15:11??UnityWaveEquation-master\Assets\LiquidSimulator\Examples\Materials\Render\caustic.mat.me
?????文件????????5620??2018-10-08?15:11??UnityWaveEquation-master\Assets\LiquidSimulator\Examples\Materials\Render\water.mat
?????文件?????????207??2018-10-08?15:11??UnityWaveEquation-master\Assets\LiquidSimulator\Examples\Materials\Render\water.mat.me
?????文件????????5172??2018-10-08?15:11??UnityWaveEquation-master\Assets\LiquidSimulator\Examples\Materials\Render\waterbody.mat
?????文件?????????207??2018-10-08?15:11??UnityWaveEquation-master\Assets\LiquidSimulator\Examples\Materials\Render\waterbody.mat.me
?????文件????????5116??2018-10-08?15:11??UnityWaveEquation-master\Assets\LiquidSimulator\Examples\Materials\sky.mat
?????文件?????????207??2018-10-08?15:11??UnityWaveEquation-master\Assets\LiquidSimulator\Examples\Materials\sky.mat.me
?????文件?????????191??2018-10-08?15:11??UnityWaveEquation-master\Assets\LiquidSimulator\Examples\Meshes.me
?????目錄???????????0??2018-10-08?15:11??UnityWaveEquation-master\Assets\LiquidSimulator\Examples\Meshes\
?????文件?????????191??2018-10-08?15:11??UnityWaveEquation-master\Assets\LiquidSimulator\Examples\Meshes\Materials.me
?????目錄???????????0??2018-10-08?15:11??UnityWaveEquation-master\Assets\LiquidSimulator\Examples\Meshes\Materials\
?????文件????????5448??2018-10-08?15:11??UnityWaveEquation-master\Assets\LiquidSimulator\Examples\Meshes\Materials\01?-?Default?1.mat
?????文件?????????207??2018-10-08?15:11??UnityWaveEquation-master\Assets\LiquidSimulator\Examples\Meshes\Materials\01?-?Default?1.mat.me
?????文件????????5448??2018-10-08?15:11??UnityWaveEquation-master\Assets\LiquidSimulator\Examples\Meshes\Materials\01?-?Default?2.mat
?????文件?????????207??2018-10-08?15:11??UnityWaveEquation-master\Assets\LiquidSimulator\Examples\Meshes\Materials\01?-?Default?2.mat.me
?????文件????????5408??2018-10-08?15:11??UnityWaveEquation-master\Assets\LiquidSimulator\Examples\Meshes\Materials\01?-?Default.mat
?????文件?????????207??2018-10-08?15:11??UnityWaveEquation-master\Assets\LiquidSimulator\Examples\Meshes\Materials\01?-?Default.mat.me
............此處省略104個文件信息
- 上一篇:MegaFiers_Mesh V3.36
- 下一篇:h264的視頻文件
評論
共有 條評論