Skip to content
View Viking-wei's full-sized avatar

Highlights

  • Pro

Block or report Viking-wei

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Please don't include any personal information such as legal names or email addresses. Maximum 100 characters, markdown supported. This note will be visible to only you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
Viking-wei/README.md

个人作品简介

大气散射

性能表现

技术方案: 主要思想还是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经营游戏。玩家需要操控陶牛在各个城镇之间往返,收集素材,在城镇中制作商品并卖给有需要的人,从而赚取金钱进行更长远旅行以及制作更高级的物品制作。

Pinned Loading

  1. ProceduralGrass ProceduralGrass Public

    C# 16 5

  2. CodeDevelopment CodeDevelopment Public

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

    ShaderLab

  3. GameCreate2 GameCreate2 Public

    DO WHAT WE WANT

    ShaderLab 1

  4. Kendama Kendama Public

    C#

  5. MonologistGames/Touch MonologistGames/Touch Public archive

    C#