自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(206)
  • 收藏
  • 关注

原创 Goo Engine Screenspace Info节点解释

GooEngine的ScreenspaceInfo节点提供了对屏幕空间数据的访问,其中SceneDepth输出当前像素在相机空间中的非线性深度值(Z缓冲值)。该节点通过投影ViewPosition到屏幕空间并采样深度缓冲实现,与Unity的_CameraDepthTexture和UE的SceneDepth功能相同。主要用于NPR渲染中的屏幕空间描边、深度边缘检测和遮挡判断等效果。GooEngine添加此节点是因为原生Blender无法直接访问深度缓冲,该节点的实现逻辑与主流引擎的深度纹理采样机制一致。

2026-03-05 00:41:58 163

原创 lut的“half texel / half texel offset”

这里的 0.5/W、0.5/H 就是所谓的“half texel offset”:从 texel 的左下角边界移到 texel 中心的半格距离。这句话的意义是:LUT 的每个 texel 的值,代表的是“这一格中心对应的参数点”的预积分结果。为什么你这张 BRDF LUT 通常“不需要你再手动做 half texel”原本要修正对lut的采样,轻微偏移处理采样点0.5texel size。half texel 到底是什么。因为这个 repo 在。

2026-03-04 20:10:04 2

原创 F0​A′+B才对,“B 是A 乘以 (1−V⋅H)5”,是后续简化概念的误解

本文分析了实时渲染中镜面IBL积分的近似计算方法。核心是将复杂的BRDF积分拆分为预计算部分和运行时计算:1) 环境贴图通过GGX重要性采样预滤波,吸收D项影响;2) F和G项通过Schlick近似拆分为F0A+B形式,预积分到2D LUT中。关键点在于:原始积分无法解析求解,通过分离求和近似将D项卷积到环境贴图mip链,Fresnel项利用线性结构拆解为可预积分的A/B两部分。最终运行时组合为specIBL≈prefilteredEnv(F0*R+G),其中R=(A-B')、G=B'来自预积分LUT。这种

2026-03-04 17:51:37 96

原创 半兰伯特就是hack,Disney diffuse却说依然是pbr,区分的依据是什么?

本文讨论了基于物理的渲染(PBR)中的关键概念和技术细节。首先明确了PBR的核心约束条件:能量守恒、互易性以及参数的物理语义。通过对比Half-Lambert和Disney Diffuse两种方法,分析了PBR近似与hack的区别标准。文章深入探讨了直接漫反射和间接光照的计算方法,解释了为什么需要单独处理环境漫反射(envDiffuse)和环境镜面反射(envSpec)。最后,详细剖析了渲染方程中的积分问题,包括半球积分的几何意义、Lambert BRDF中的1/π归一化因子,以及常见误用情况。特别强调要区

2026-03-03 15:24:57 401

原创 LUT(x,y)=∫Ω ​f_spec​(x,y,ωi​)dωi​为什么娇贵?

它编码的是“函数”,不是“形状”AB LUT 不是调色贴图,它是:

2026-03-01 20:49:39 430

原创 自由学习记录(123)

文章摘要: 本文深入探讨了实时渲染中的关键技术问题,重点分析了基于物理的渲染(PBR)中的数学近似和优化方法。首先阐述了Split-Sum近似在环境光计算中的应用,通过将高维BRDF函数分解为LD(R,α)和DFG LUT两部分,实现了计算复杂度的显著降低。文章详细解析了NDF(法线分布函数)在不同粗糙度条件下的数学表达形式,包括GGX、Beckmann等分布函数。特别强调了Perceptual Roughness的概念,解释了UI参数r与物理参数α(r²)之间的映射关系及其在美术控制中的重要性。最后讨论了

2026-02-28 02:52:20 585

原创 各项异性不仅指方向不同,强度不同也算各项异性?

线性的严格定义是满足:这是对映射的约束,不是对“xyz是否按同样规律变化”的描述。例如:这是线性的。但 x、y、z 并没有“按相同规律变化”。再比如:这也是线性的。分量之间还发生了耦合。所以:线性 ≠ 每个分量按同一个公式变线性 =保持向量空间结构(加法与数乘)可以近似无脑当向量的情况:全流程都在同一固定坐标系里(没有换基/旋转),并且你不需要把它解释成几何量(只做黑盒拟合)。你只关心局部插值/存储,不做跨坐标系搬运。

2026-02-27 18:19:58 574

原创 自由学习记录(122)

本文摘要: "Charlie"是布料渲染中特殊的法线分布函数(NDF),由Estevez和Kulla提出,用于模拟粗糙布料的光散射特性,其数学表达式为(2+1/roughness)*pow(1-NH²,0.5/roughness)/2。 法线分布函数(NDF)与统计学正态分布完全不同,前者描述微表面法线方向分布,后者是概率分布模型。 在实时渲染中,SplitSum近似将复杂积分拆分为LD(环境光卷积)和FGD(BRDF预积分)两部分,分别用cubemap+mip和2D LUT实现,这是E

2026-02-26 13:38:27 634

原创 自由学习记录(121)

文章摘要:本文详细探讨了实时渲染中的环境反射技术,重点分析了BRDF积分优化、CubeMap预过滤和粗糙度对反射效果的影响。通过2D LUT纹理将复杂积分转化为查表+ALU运算,大幅提升性能。同时阐述了Unity不同管线中环境反射的实现差异,指出高分辨率CubeMap仅对低粗糙度材质有意义,而预过滤Mipmap本质是物理卷积而非简单降采样。最后从技术角度解释了GGX分布下粗糙度与反射角域的数学关系,为实时渲染优化提供了理论依据。全文融合图形学原理与工程实践,对PBR技术实现具有指导意义。

2026-02-24 15:02:34 650

原创 自由学习记录(120)

本文摘要:探讨HTML片段结构解析与DOM节点操作,分析Range对象在选区处理中的应用。讲解RadialTangent在图形渲染中的方向计算原理及其在材质高光控制中的关键作用。针对SkinnedMeshRenderer的坐标空间转换问题进行技术解析,并提供三种实现方案。介绍ShaderModel的核心定义与Unity中的兼容性处理策略。最后剖析Cascadeur动画工具的物理约束优化系统本质,澄清其并非基于云端大模型的生成式AI,而是本地运行的物理驱动姿态优化系统。全文涉及前端开发、图形渲染、游戏引擎等多

2026-02-21 18:30:53 628

原创 自由学习记录(119)

Unity ShaderLab 属性修饰符(如 [MainTexture]、[NoScaleOffset])的语义作用,强调其仅影响 Inspector 表现而不改变 GPU 侧执行逻辑;分析了 PBR 金属度工作流中 BaseColor、F₀ 与 Fresnel 的职责划分;对“假 Forward 单光源”结构进行了拆解,并对渲染调试流程(如查看 DrawCall 绑定纹理、Framebuffer Attachment)给出方法论说明。同时涉及 DX12、Apple Silicon GPU 架构分层,以及

2026-02-16 14:04:32 607

原创 自由学习记录(118)

核心区分在于:TBN是局部基底,PBR以N为主轴,而头发模型(如Kajiya–Kay)以T为主轴。Radial Tangent不是顶点属性插值,而是解析向量场 T=f(P)。dot是投影,cross生成正交方向。插值发生在顶点→像素管线,Tangent节点只是为BRDF提供方向,不控制插值本身。

2026-02-13 03:06:30 735

原创 自由学习记录(117)

摘要:本文深入探讨了PBR渲染中的多个技术细节,包括法线贴图扰动导致的世界空间法线变化、TBN矩阵的正确构造方法、各向异性高光的参数控制、微表面模型中D和V函数的物理意义与工程实现差异。文章还分析了实时渲染中的性能优化策略,指出合理使用if分支在特定场景下的优势,并澄清了albedo与BRDF的关系、皮肤渲染的各向异性处理等常见误区。最后,文章对比了原版Blender与GooEngine在屏幕空间效果实现上的差异,并强调了GBuffer数据作用域的合理划分原则。这些内容涵盖了从基础概念到高级优化的完整知识链

2026-02-09 23:23:59 597

原创 自由学习记录(116)

摘要:本文深入探讨了3D图形中法线处理的核心机制与技术细节。从Blender的Mix节点原理出发,分析了法线在不同引擎中的处理方式,重点阐释了"分裂法线"(Split Normal)的概念及其在硬边处理、风格化渲染中的关键作用。文章详细比较了Blender、FBX和游戏引擎之间的法线数据流差异,指出法线本质上是"角点属性"(per-corner)而非顶点属性,并解释了为何现代引擎必须进行角点展开(vertex instance expansion)。此外,还讨论了法线

2026-02-07 03:11:20 640

原创 自由学习记录(115)

MSAA 的 resolve 是把多样本 RT 变成可被后续 pass 采样的单样本 2D 纹理;多数后处理/采样链路不支持直接采样 MSAA(除非 Texture2DMS 特殊路径),所以管线通常是 Opaque→MSAA Color→Resolve→PostFX→Final。Unity 在 DX12 下用 ResolveSubresource,Vulkan/Metal 有对应命令。SRP 的难点是系统性:要设计 resolve 时机、目标 buffer/RTHandle 管理,深度 resolve 语义

2026-02-06 00:39:05 654

原创 自由学习记录(114)

本文摘要: IBL技术解析:讨论了图像照明(IBL)的实现原理,包括预过滤环境贴图、粗糙度与LOD的关系,以及Unity/Unreal中的处理方式。 法线贴图技术:详细说明法线贴图的存储格式、解码方法和使用场景,强调其与位移贴图的本质区别。 金融做市机制:解释做市商在币圈项目中的三大核心功能:提供流动性、稳定价格和获取收益。 3D渲染管线技术:涵盖从Blender到Unity的完整工作流,包括模型导出、材质系统、顶点处理等关键技术细节。 渲染优化技巧:分享URP/HDRP环境反射、自定义渲染Pass、Sha

2026-02-04 23:48:54 643

原创 自由学习记录(113)

本文探讨了微表面模型中的关键参数λ和αx/αy的物理意义与数学原理。λ是Smith遮蔽模型中的中间统计函数,表示给定视角下微表面法线的期望遮挡程度。文章详细分析了GGX各向异性分布中αx/αy作为主轴参数的作用,解释了椭圆度量下的长度平方计算原理。同时阐述了D项与G项的数学关系,指出GGX分布具有更重尾特性。在工程实现方面,讨论了避免使用tan函数的优化策略,以及切线空间一致性、法线贴图编码等关键技术问题。最后简要介绍了PBR材质工作流中基础参数的规范要求,包括BaseColor、Normal和ORM贴图的

2026-01-30 17:17:48 565

原创 藤井風《旅路》

以下是藤井風《旅路》(Tabiji)的完整歌詞羅馬字(讀音)版:Ano hi no koto wa(那天的事) wasurete ne(忘了吧) Osana sugite(太幼小) shiranakatta(不知道) Hazukashikute(害羞得) kietai kedo(想消失可是) Mou daijoubu(已經沒問題) tabiji wa tsuzuku(旅路繼續) Ano hi no koto wa(那天的事) wasureru ne(我會忘掉) Minna datte(大家也) s

2026-01-28 13:18:57 364

原创 藤井風《何なんw》

以下是藤井風《何なんw》完整歌詞的羅馬字(讀音)版,仅在非單音、多音連讀的詞後添加(中文翻譯):[Intro] Na, na, na-na-na, na-na, na-na-na Na, na, na-na-na, na-na, na-na-na Hey, yeah![Interlude] Hare hare hare, yeah yeah yeah Hare hare hare, yeah yeah yeah Hare hare hare, yeah yeah yeah Har

2025-12-22 22:03:26 324

原创 You have no idea at all(novelai | en)

looking to the side,looking back,sleeveless,strapless,criss-cross halter,shoulder cutouts,strap slip,,编号系统由音乐学家 弗朗索瓦·莱苏尔 编制, L. 1 一直到 L. 144+(包含了未完成和遗失的作品),德彪西(1862-1918)那个时代,作曲家创作的作品确实是“一首一首”或“一套一套”地通过乐谱出版社发表的。Danbooru 标签控制“不要看镜头”和朝向

2025-10-28 15:10:20 894

原创 自由学习记录(112)

本文探讨了Blender和Unity中渲染与反射设置的技术细节,重点分析了Eevee和Cycles引擎在反射处理上的差异,以及如何通过反射探针、SSR等技术实现物体间反射。同时比较了GPU实例化和SRP合批的优化策略,并讨论了细分曲面、材质预览等实用功能。文章还涉及Unity中光照单位、HDRP管线设置等高级渲染技巧,以及通过世界坐标实现动态材质效果的可能性。最后提及了Shader变体管理、材质优化等实际开发中的常见问题。

2025-10-28 14:37:59 926

原创 自由学习记录(111)

“UnityPerDraw” 是用来存放“每 Draw 调用”必须上传给 GPU 的内置引擎属性“UnityPerMaterial” 是用来存放“每 材质 (Material)”的属性(如漫反射颜色、贴图 _ST 参数等)Megascans 是一个扫描资源库(高分辨率真实世界扫描贴图 +模型)Designer 的“自定义深度”比 Mixer 高,而 Mixer 的“操作便利”+“基于扫描贴图”优势更明显。Amplify Shader Editor(ASE)

2025-10-25 10:48:49 955

原创 自由学习记录(110)

NVIDIA GPU架构演进与计算特性分析 摘要:本文梳理了NVIDIA GPU架构从Tesla到Ampere的演进历程,揭示了其从图形处理器向通用计算平台的转型过程。关键里程碑包括:2006年CUDA架构支持通用计算,2010年Fermi引入统一内存,2017年Volta推出专用TensorCore,2020年Ampere实现AI与图形计算的融合。GPU采用分层并行架构(SP→SM→TPC→GPC),通过warp调度器实现零开销线程切换,依托共享内存和缓存层次优化数据局部性。NVIDIA通过差异化设计(如

2025-10-24 11:36:35 727

原创 自由学习记录(109)

摘要:视频讲解了CUDA编程模型与GPU硬件架构的关系,重点包括:1)kernel函数通过grid-block-thread三层结构实现并行计算,线程通过索引区分任务;2)block的维度结构(shape)限制为乘积≤1024,由寄存器索引宽度决定;3)GPU硬件采用SM多核架构,每个block绑定到SM执行,32线程组成warp作为调度单元;4)通过cudaMalloc/cudaMemcpy管理CPU-GPU数据传输,强调计算与通信的权衡优化。视频还对比了从Tesla到Hopper的GPU架构演进,突出F

2025-10-23 14:48:36 920

原创 自由学习记录(108)

摘要:本文探讨了GPU编程中的关键优化技术,重点分析了CPU与GPU协同工作的异构计算模型。文章指出,数据在CPU主存和GPU显存间的传输是性能瓶颈,应尽量减少PCIe传输次数,推荐使用页锁定内存(pinned memory)和统一内存(Unified Memory)来优化。同时详细介绍了CUDA编程框架中的矩阵乘法优化方法,特别是tile分块计算技术,通过将矩阵划分为小块并利用共享内存来提升计算效率。文章还对比了CPU和GPU的架构差异,CPU侧重低延迟而GPU专注高吞吐量,并讨论了TPU针对深度学习优化

2025-10-22 19:42:33 683

原创 nvcc fatal : Cannot find compiler ‘cl.exe‘ in PATH

摘要:解决CUDA无法找到cl.exe编译器的问题,关键在于正确配置Visual Studio的C++编译环境。需要确保安装VS时勾选"C++桌面开发"选项,并正确设置系统环境变量指向x64版本的cl.exe(而非不兼容的x86版本)。可通过x64 Native Tools命令行验证环境,使用where cl检查路径。CUDA安装建议选择官方推荐版本,安装成功后直接测试nvcc命令验证。注意修改环境变量后需完全关闭设置窗口才能生效,且在PowerShell中运行程序需添加".&

2025-10-18 16:47:34 1156

原创 自由学习记录(107)

文章摘要: 本文详细解析了Visual Studio解决方案文件(.sln)的作用机制,指出其通过记录项目结构、编译目标和路径配置,由MSBuild系统自动触发完整编译流程。同时对比了Windows与Linux/macOS在设计理念上的差异,强调Windows以注册表为核心的静态配置体系在稳定性与安全性上的优势,但也存在灵活性不足的问题。文中还探讨了CUDA与Visual Studio的集成原理、GPU编程基础、Unity动画系统分层控制策略,以及Flynn并行计算分类法等技术要点,为开发者提供了跨平台开发

2025-10-18 14:37:44 1075

原创 自由学习记录(106)

这篇文章摘要涵盖了多个技术主题,包括3D建模、游戏开发、AI和自动化工具。主要内容涉及Blender和Unity中的对象导出与骨骼动画处理、DCC软件的工作流程优化、Unity的动画系统与实时渲染技术、以及神经网络与Transformer模型的原理与应用。此外,还介绍了自动化工具n8n的使用和Unity项目中的资源管理策略。文章强调技术细节和实践指南,适合开发者参考。

2025-10-13 12:12:06 952

原创 自由学习记录(105)

文章摘要:本文探讨了Unity编辑器工具开发中的技术要点,包括git reset命令的危险性、EditorTools API的使用、PrefabUtility类的预制体操作、Undo系统的集成,以及Unity UI Toolkit的应用。同时分析了Node.js的技术价值,讨论了AI编程辅助工具(如Claude Code)的使用模式和订阅机制,并介绍了MCP(Model Context Protocol)作为标准化AI模型与外部工具交互的开放协议。文章还涉及技术指标评估、前后端开发演变等内容,为开发者提供了

2025-10-05 23:48:08 965

原创 free maybe a bad thing(old introspect

内容涉摄影、YouTube 使用、语言与职场等领域。摄影上,提远景特点、光的类型、布列松 “决定性瞬间”,及禾木摄影竞争、摄影师极端情绪等;YouTube 方面,含搜索技巧、快捷键、下载方法,及布局修改脚本、各类插件;语言上,有 “疯人院”“异于常人的人” 等翻译对比、词汇讹读,还提及 “Prama” 多义、dielectric 释义等。

2025-10-02 13:27:26 710

原创 自由学习记录(104)

这篇文章探讨了Unity中草地渲染和性能优化的技术实现。主要内容包括: 草地生成与管理 使用网格系统均匀分布草的位置 为每株草添加随机偏移避免整齐排列 计算草地区域起始点和单元格大小 视锥体剔除优化 通过相机射线检测计算可见范围 动态更新渲染区域,只绘制相机视野内的草 使用事件系统管理剔除状态变化 渲染性能考量 区分顶点和像素着色阶段 利用UV坐标控制草叶摆动效果 内存管理策略分析 技术实现细节 使用GPU实例化提高渲染效率 射线与地面平面相交计算 网格索引转换和边界处理 文章通过具体代码示例展示了从草地生

2025-10-02 13:20:27 1051

原创 自由学习记录(103)

本文探讨了AI绘画工具NovelAI的技术原理与应用技巧,重点分析了风格学习、色彩饱和度的视觉影响,以及模型微调方法。内容涵盖:1)AI如何通过像素处理吸收画家风格;2)高饱和色彩对用户体验的利弊;3)模型微调技术对比(全量微调/LoRA/DreamBooth);4)Unity渲染管线优化方案(遮挡剔除/PSO预热等)。教程部分提供了从基础提示词到角色定制的实操指南,并对比了不同渲染模式在移动端的性能表现,为数字内容创作者提供了技术参考。

2025-09-23 18:19:00 1059

原创 自由学习记录(102)

本文主要探讨了Unity渲染管线中的几个核心概念:1. Pass与DrawCall的关系:Pass是着色器中的渲染流程定义,而DrawCall是CPU向GPU的绘制提交,两者并非一对一关系。2. SRPBatcher的工作原理:通过减少状态切换来优化性能,但不会真正合并DrawCall。3. 减少DrawCall的三种方法:Static Batching(静态批处理)、Dynamic Batching(动态批处理)和GPU Instancing(GPU实例化),并分析了各自的使用场景和限制。4. 在URP中

2025-09-21 12:51:06 866

原创 自由学习记录(101)

Unity光照系统包含实时光源、烘焙光照和全局光照技术。阴影图集自动生成于启用CastShadows的光源,可通过FrameDebugger查看。BakedShadowAngle控制静态光源阴影柔化程度。Decal功能需通过RendererFeature启用,性能优化需注意drawcall控制。光照探针(LightProbe)采用球谐函数存储数据,AdaptiveProbeVolume支持流式加载优化大场景。HDRP的SkyOcclusion技术模拟天空光遮挡效果。URP/HDRP使用RenderingLa

2025-09-19 21:28:43 1137

原创 自由学习记录(100)

这篇文章主要探讨了Unity引擎中渲染管线的多个技术细节,包括Forward+渲染路径、GPU Resident Drawer、BatchRendererGroup、深度缓冲、光照烘焙等核心机制。文章分析了不同渲染方式的特点和适用场景,如Forward+的高效光源处理、GPU Resident Drawer对MeshRenderer的优化原理,以及动态网格(SkinnedMeshRenderer)难以应用该技术的原因。同时详细解释了深度缓冲与深度纹理的区别、Early-Z测试的优化原理及其限制条件,并提供了

2025-09-17 19:27:31 799

原创 自由学习记录(99)

本文摘要:探讨了Unity中资源管理、URP渲染管线和RenderGraph系统的关键实现细节。重点包括:1)材质销毁需区分运行时(Destroy)和编辑器(DestroyImmediate);2)Volume系统通过ClampedFloatParameter实现带范围限制的参数控制;3)RenderGraph采用帧级DAG调度,通过PassData传递执行参数;4)URP与Built-in管线在Shader处理上的差异,包括HLSL包含机制和LOD控制;5)体素化技术在体积渲染中的应用。这些机制共同构成了

2025-09-15 16:46:45 1246

原创 自由学习记录(98)

摘要 本文详细介绍了Unity URP渲染管线中Shadowmask技术、RenderGraph系统、ScriptableRendererFeature的实现原理及优化策略。主要内容包括: Shadowmask技术:静态物体阴影烘焙到贴图,动态物体实时计算;通过ShadowDistance控制实时阴影范围。 RenderGraph系统:将渲染流程分解为多个可控阶段(如深度预处理、不透明物体、透明物体等),通过声明式API管理资源依赖关系,实现自动合并Pass优化性能。 ScriptableRendererF

2025-09-12 18:50:32 1381

原创 自由学习记录(97)

游戏性能优化与URP渲染管线摘要 性能优化要点 垂直同步与帧率控制:SwapInterval参数控制渲染帧率,如设置为2时60Hz显示器锁定30FPS GPU调度优化:包括动态切片、持久线程等技术提升GPU利用率 内存管理:纹理占主要内存,需优化: 降低分辨率 使用压缩格式(ETC1/PVRTC4) 禁用Read/Write和冗余MipMap 纹理图集化 URP渲染管线特性 模块化设计:基于C#脚本控制渲染流程,灵活调度GPU指令 平台适配: macOS/iOS使用Metal API 通过MoltenVK等

2025-09-09 10:35:08 937

原创 自由学习记录(96)

摘要:本文探讨了图形渲染中的关键技术概念,包括NDC坐标差异(OpenGL与DirectX/Vulkan的Z轴范围区别)、Unity的跨平台适配机制(UNITY_UV_STARTS_AT_TOP等宏)、PBR材质系统中金属/非金属的F0值范围(0.02-0.05与0.5-1.0),以及OpenGL坐标系在变换过程中的左右手系转换特性。同时分析了渲染管线优化方案(如URP的单Pass光照处理)、阴影技术(级联阴影、PCF滤波)和内存管理策略(VRAM溢出机制)。文章还涉及垂直同步原理、可变刷新率技术(G-Sy

2025-09-08 20:20:50 956

原创 自由学习记录(95)

本文将介绍Unity引擎中图形API的配置与渲染工作流程。在Android平台,PlayerSettings中可配置OpenGL ES 2/3或Vulkan作为渲染API,分别对应不同性能档位的设备。在编辑器环境下,Unity默认使用DirectX 11进行渲染,但可通过Project Settings手动切换为OpenGL Core或Vulkan。文章详细说明了着色器模型(Shader Model)的演进历程,从2.0到5.0各版本支持的功能特性,以及如何在Shader中使用#pragmatarget指令

2025-09-05 19:16:44 1361

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除