百科.dev
全部条目在线工具AI 编程趋势榜开源项目技术资讯提交条目
登录
< 返回工具列表
J

JTRP

> 编程语言
开源

JTRP: Unity HDRP 绘制阴影渲染管线 (预览)

2.2K stars0 点赞1 次浏览
访问官网GitHub

工具介绍

JTRP: Unity HDRP 绘制阴影渲染管线 (预览)

JTRP (Jason Ma Toon Render Pipeline)

  • Works
  • Installation
  • Getting Started:三渲二入门视频教程
  • Usages
    • JTRP Custom Pass
    • Pencil+ Outline 4 Unity
    • Material Parameters
    • Scripts
    • Real Time Style Transfer
    • DXR Sample (Removed)
    • Light Weight ShaderGUI
    • Model Outline Importer(Legacy)
  • Future Works

这是我业余时间开发的基于Unity HDRP并支持DX12 RayTracing的卡通渲染工具集,定位于实时生产影视级质量卡通渲染CG。

基于UTS二次开发:https://github.com/unity3d-jp/UnityChanToonShaderVer2_Project

专栏:https://www.zhihu.com/people/blackcat1312/posts

B站:https://space.bilibili.com/42463206

邮箱:[email protected]

Works

https://www.bilibili.com/video/BV1wD4y1w7oU?spm_id_from=333.999.0.0

https://www.bilibili.com/video/BV1Bq4y1r7bn?p=3

Installation

  1. 使用Unity 2021最新版本创建一个新项目(或使用你自己的项目)

  2. 确保安装了Blender,以及双击.blend文件可以直接打开Blender,否则示例模型将无法导入

  3. (需要代理)Window > Package Manager > Add > Add package from git URL 输入https://github.com/JasonMa0012/JTRP.git

    • 你也可以选择手动从Github下载Zip,然后从Package Manager > Add package from disk添加Local Package
  4. 在Project面板中找到Packages > JTRP,同时打开Edit > Project Settings > Graphics,将JTRP\RenderPipelineResources\JTRP_RenderPipelineAsset分配给SRP Settings

  5. 打开Window > Rendering > HDRP Wizard(一般会自动打开),点击Fix All,重启编辑器

  6. 双击JTRP\Samples\JTRP_Samples.unitypackage导出示例场景,打开Assets\JTRP_Samples\SampleScenes中的场景,检查渲染结果是否与截图一致,若渲染结果异常,请重新检查安装过程或提交Issue

Getting Started:三渲二入门视频教程

教程:https://www.bilibili.com/video/BV1AA411A7RR/

模型配布:https://www.bilibili.com/video/BV1a7411i7js/

视频中你会学到:

版本控制

  • 为何使用Git:多人协作、版本控制
  • Github账户、仓库、LFS、存储和单文件大小限制
  • SourceTree教程:
    • https://zhuanlan.zhihu.com/p/212302462
    • https://zhuanlan.zhihu.com/p/254909901
  • Clone、修改、暂存、推送、回滚、忽略
  • 或直接下载Zip:https://github.com/Jason-Ma-233/JasonMaToonRenderPipeline

前置知识

  • 3D 美术、DCC 基础
  • Unity 安装、语言包、基本知识
  • Unity MMD:https://www.bilibili.com/video/BV1Db411e74e
  • Blender:
    • PMX导入插件:https://github.com/GiveMeAllYourCats/cats-blender-plugin
    • 模型处理:拆分材质、脸单独材质、脸部球面化法线(可选)

JTRP

  • 三渲二概述:什么是PBR / NPR / 卡通渲染 / 三渲二、三渲二的常见特征与典型案例
  • UTS:https://github.com/unity3d-jp/UnityChanToonShaderVer2_Project/blob/release/urp/2.2.3/Documentation~/index.md
  • 参数概览
  • Outline
    • 传统法线外扩
    • P+ 4 Unity:https://www.psoft.co.jp/jp/product/pencil/unity/
    • P+在线文档:https://docs.psoft.co.jp/pus400w/jp/latest/
  • 使用JTRP进行角色卡通渲染
    • 阴影色
    • 光线追踪阴影
    • 头发阴影
    • 脸+头发球形阴影
    • 头发高光
    • 边缘光
  • Timeline:角色动画、相机动画、表情动画、ABC
  • 实时物理:https://assetstore.unity.com/packages/tools/physics/magica-cloth-160144
  • HDRP / Lit Shader文档:https://docs.unity3d.com/Packages/[email protected]/manual/Lit-Shader.html
  • 后处理:光线追踪GI / AO / SSR、Bloom、LUT、ToneMapping……
    • LUT制作:https://docs.unity3d.com/Packages/[email protected]/manual/LUT-Authoring-Resolve.html
  • 渲染输出

Usages

由于JTRP是在UTS的基础上扩展而来,因此你应该先了解UTS的基本功能:https://github.com/unity3d-jp/UnityChanToonShaderVer2_Project/blob/release/legacy/2.0/Manual/UTS2_Manual_en.md

JTRP Custom Pass

主要控制场景内所有Toon Shader物体的渲染,若丢失则回退到灰模状态。

另可控制Outline的全局设置,若使用BackFace Outline需要先打开开关。

PostProcess Outline可以使用,但处于预览状态,功能不完善,主要用于场景描边,通过配置材质球更改颜色。

Geometry Outline只开发了一半,设置较为复杂,不推荐使用。已经有优化思路,但是没有时间继续开发,有缘人可以一起开发,效果参考视频:https://www.bilibili.com/video/BV1vp4y1r7sF

Pencil+ Outline 4 Unity

视频教程里有使用方法,官方文档:https://docs.psoft.co.jp/pus400w/jp/4.1.2/index.html

如要去除水印和范围限制请购买正版,官网:https://www.psoft.co.jp/jp/product/pencil/unity/。

Material Parameters

如有遗漏,可以参考视频教程和UTS文档,这里只列出JTRP相对于UTS的新增部分。

HDRP/Toon
Workflow Mode 优先使用ShadingGradeMap,否则不保证功能完全
Shadow
Shading Grade Map 通过一张灰度图控制阴影的范围。阴影是通过光线方向与法线方向的点积(Gradient)计算,通过影响Gradient使某些区域更容易变亮/变暗。贴图颜色默认0.5灰色,越接近白色越容易变亮,为1时常亮,反之亦然。
JTRP Features
Is Face / Hair 头发和脸的开关,如需使用发影、脸影功能则须正确设置。
对于脸材质打开Is Face,对于头发材质打开Is Hair,普通材质保持默认关闭即可。
Hair Shadow …… 在脸材质上对发影进行调整,Width控制宽度,Ramp控制宽度的距离衰减,Bais控制裁剪距离
Hair Z Offset 在头发材质上调整,控制发影渲染时在视线方向上的偏移
Face Shadow Bias 在脸材质上调整,打开脸接受阴影的选项(System Shadows Self Shadows Receiving)时调整脸的阴影在光线方向的偏移,可以裁剪掉一些近距离不想要的阴影
Spherical Shadow…… 高级选项,控制球面化法线,需要配合脚本使用,参考视频教程
Anti-Perspective 高级选项,控制反透视强度,为1时模型在视线方向压扁,从而抵消透视畸变。在3D中,FOV越大,透视畸变越大,视角越广,而三渲二追求还原手绘感,所以需要尽可能减小透视畸变,此功能适合在单独展示模型时使用,否则会与3D场景穿插造成穿帮。
Outline
Outline Width Ramp 通过Ramp控制描边在不同距离下的粗细
Environmental Lighting
Built-in Light Direction 该功能可以手动指定光线方向,从而控制脸影、发影等。可以搭配脚本实现更智能的光线方向控制,参考视频教程
Hair HighLight(先点击Show All properties切换UI)

看视频吧,实在没时间写了,欢迎好心人提交RP
Screen Space Rim Light(同上)

Scripts

如有疑问参考视频教程

Spherical Hair High Light Helper
Hair Center 头发中心的代理,将头发整体视为一个球,在头骨下新建一个空物体放在球心处,然后在头发上新建该脚本,将球心赋给Hair Center
Renderers 选择使用该功能的Renderer
Center / Renderer 原理同上
Project Light Dir 将光线方向投影到2D圆环上。光源方向通常不可控,但三渲二中对脸影的要求又相当严格,通过这些设置可以将光线方向限制在一个与头顶方向相切的圆环上,防止光源乱跑。
1. 在脸材质上开启Built-in Light Direction
2. 把场景中的Directional Light赋给Light
3. 在ForwardDir中选择脸的正面方向是FaceCenter的哪根轴向,Forward是+Z,Up是+Y,Right是+X
4. 调整Y Offset,旋转光源查看效果
5. (可选)通过Dot Power重映射Y Offset,横轴是光线与Forward点积(可以理解为夹角),竖轴是该夹角下的Y Offset值
Camera Sync

在编辑器和Timeline中同步Scene View和Game View相机,方便预览渲染效果和制作相机动画。

Issues· 0 开放

查看全部 Issues在 GitHub 打开

暂无开放 Issues,或尚未同步最近议题。

> 标签

C#graphicshdrpnprshader

暂无评论,来聊聊你的看法吧

> 工具信息

发布日期2026年8月1日
最后更新2026年9月17日
分类编程语言
定价开源

> 相关工具

T
TypeScript
JavaScript 的超集,为前端与全栈提供静态类型
P
Python
通用编程语言,广泛用于 Web、数据与 AI
G
Go
Google 推出的简洁高效系统语言