Coder Social home page Coder Social logo

个人作品简介

大气散射

性能表现

技术方案: 主要**还是RayMarching,但是在性能上有一定改善。这套系统主要由三部分组成,一个是计算部分,这个部分主要由两个Compute Shader负责;另一个部分是渲染部分,这个部分也由两个Shader组成,一个负责天空盒的渲染,另一个负责屏幕空间渲染;最后一个部分就是C# Render Feature,它责参数的调整控制和渲染流程的控制。

参数

Compute Shader部分预计算了太阳光线传递到指定点的光线强度,以及人眼从各个角度观察到的天空的颜色。他们两者的计算结果分别存储在RT中分辨率为256*128。在渲染部分,天空盒渲染直接采样计算出的RT,而屏幕空间的采样除了要采样RT外,还要采样主光源阴影贴图,这个部分计算量较大。

性能测量: compute shader部分预计算虽然每像素有32步,但好在分辨率不高,只有256*128,性能消耗较小。 主要是采样阴影贴图形成体积光效果的部分,经过测试在1080p的分辨率下,每像素32步,阴影贴图分辨率为2K的情况下,整个性能消耗在1.2ms左右。

性能表现

聚光灯体积光

性能表现

技术方案: 这个主要是为了解决上面大气散射中提到的体积光问题,上面主要是采样主光源的阴影贴图,因为采样的步进很长,对于这种小范围的灯光效果呈现的不是很好,所以采用在mesh上渲染的方法弥补这个缺点。主要思路是在聚光灯周围生成一圈mesh,从mesh表面向内部进行raymarching,同时在采样世界噪声,在mesh表面生成体积光效果。基本的技术比如抖动采样,高斯模糊等都有使用来优化表现效果。

性能测量: 因为每盏灯的采样长度较短,因此不需要很多的采样步数,并且采样的像素一般不是很多,所以性能消耗很低。在1080p的分辨率下,每像素采样10步的情况下,每盏灯的消耗极低。场景中测试50栈灯的情况下,性能消耗为0.1ms左右。

性能表现

程序化草地

suibian

个人知乎主页有详细介绍 点击前往

水体渲染

suibian

技术方案: C#端预先生成指定范围的mesh,并在GPU Tessellation。基于GPU的FFT算法,在Shader中初始化水面信息,并在每帧进行更新。水面反射基于当前画面的镜面图像与水面UV扭曲的叠加、折射基于当前画面除透明物体外的RT的混合叠加。光照模型blinn-phong,加入Frener反射项。浮沫由预先出入的噪声图控制,三通道分别存储浮沫在浪花高点、水平位置、海滨位置的形状,并按照一定比例实时混合。

性能测量: 在1080p的分辨率下,该效果的性能消耗主要为两部分,一部分是FFT网格的计算另一部分是水面的渲染,网格计算消耗大约是1.2ms、水面的渲染消耗大约是1ms左右。如果采样Flow map的方案然后限制水面大小,那么性能能控制在一个非常好的范围内。

suibian

小工具

noise

简介: 常用噪声生成工具,支持多种噪声类型,支持3D噪声,支持噪声的保存,使用Compute Shader生成性能良好。

各种效果

Gamejam

Untouchable

演示视频

Untouchable

简介: 2023 CIGA 项目, 2D解密游戏,场景中能被操控的只有重力,玩家需要通过改变重力方向来使人物移动,并且中途蹦年碰到任何物体。场景中存在一些特殊机关,重力的改变能使发生变化,玩家需要想法设法破除机关,然后抵达终点。

奖项: 北京ACG站 最佳人气奖

设计过程:

Design Design

盐柱

演示视频

The Pillar of Salt
**简介:** 2023上半年游戏创作2的结课作品,一款叙事解密游戏,俯视角2D人物加3D场景,玩家需要在探索途中发现永生的真相。

我的工作: 对话系统和角色3C的设计与实现,部分模型的搭建和特殊Shader的编写。

Dialogue

陶牛商旅

演示视频

简介: 2022上半年游戏创作1的结课作品,一款2D经营游戏。玩家需要操控陶牛在各个城镇之间往返,收集素材,在城镇中制作商品并卖给有需要的人,从而赚取金钱进行更长远旅行以及制作更高级的物品制作。

viking-wei's Projects

codedevelopment icon codedevelopment

用于尝试unity中的各种实用的逻辑编写。包括编程模式测试,小工具的开发,新特性的测试等等。总之,一切都是为了提升代码水平!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.