尝试着色

《骆驼祥子》3D · 写实化美术规格

(合并优化版 · 统一技术规格)

 

【交付目标】 将《骆驼祥子:车辙》3D 当前的低多边形/像素/卡通占位美术(盒子建筑 + 剪影人形 + 贴图地面),升级为凌子风版《骆驼祥子》(1982) + 吴贻弓《城南旧事》(1983) 那种 ARRI/RED 电影机实拍质感的写实民国北平影像——苍凉、克制、烟火气,不是徐克武侠的水墨飘逸。

【硬约束】 本规格只约束画面层(几何、贴图、材质、灯光、色调、镜头语言);数值、存档、事件表、键位一行不改,旧存档继续可用。

────────────────────────────────

一、核心要求

1.1 升级定位

• 现状:盒子建筑 + 剪影人形 + 贴图地面 + 卡通色块——低多边形/像素/占位美术。

• 目标:电影级写实质感,ARRI Alexa 65 / RED Monstro 8K VV 实拍画质参考。

• 时代:1920–1930 年代老北平(民国初年,不是清代也不是 1949 后)。

• 气质:凌子风《骆驼祥子》开篇长镜头那种「不加修饰的现实感」+ 吴贻弓《城南旧事》结尾那种「克制的诗意」——苍凉但不诗意化,克制、不煽情、不浪漫。

1.2 必须遵守的底线

• 画面中出现写实人物,人物真实准确无畸形(五官端正、手指数量正确、关节自然、表情自然)。

• 服装为民国初年北平款式,不是清代也不是当代;不是长衫马褂满街走,要分穷富。

• 建筑是青砖灰瓦四合院为主,不是欧式石库门也不是日式也不是赛博朋克。

• 路面为青石板或黄土,没有沥青和水泥。

• 黄包车是民国款式(木车架、铜铃铛、黑漆车斗),不是日本和风人力车。

• 招牌幌子为传统中式(藥/當/酒/布),不是霓虹灯。

• 光线为北平日光质感,没有戏剧化红侧光也没有丁达尔效应滥用。

• 色调为低饱和银盐质感,不是数码清新也不是水墨飘逸。

────────────────────────────────

二、电影参考与影调

2.1 视觉参考影片

• 【国内核心参考】凌子风《骆驼祥子》(1982)——北平人力车夫的真实质感;

• 【国内核心参考】吴贻弓《城南旧事》(1983)——老北京胡同与四季的光线;

• 【国内延伸】张艺谋《活着》(1994) 早期段落——民国市井烟火气;

• 【国内延伸】田壮壮《蓝风筝》(1993)——北方城市的灰调与日常;

• 【国际参考】侯孝贤《悲情城市》——静态凝视感;

• 【国际参考】是枝裕和《步履不停》——对日常细节的耐心。

2.2 镜头语言参考(凌子风)

• 大量低机位(贴近地面 30–50 cm),让车夫显得高大。

• 大量中景跟拍(腰部以上),跟着车夫走。

• 偶尔用长焦压缩空间(85mm–135mm 等效)拍胡同远景。

• 不用广角畸变,不用鱼眼,不用微距虚化过度。

• 节奏慢,镜头不要花哨的推拉摇移,让人物在画面里自己演。

2.3 影调气质

• 凌子风式的北方写实主义,泥土与汗味。

• 老北京胡同的阴影——光线从门缝、屋檐、槐树叶缝里漏下来。

• 苍凉但不诗意,克制、不煽情、不浪漫。

• 烟火气、疲倦感、底层人的体面与卑微并存。

• 保持原图构图结构(人和车厂、商业街、景山、文津街、白房子、乱死岗子、正阳门大街),人物融入场景之中,不要把主角从环境里抠出来。

• 大量使用胡同口、门洞、牌楼下、桥栏旁这些「框中框」构图。

• 前景偶尔有车把、铜铃、门钉一角入画,制造现场感。

2.4 不要做成的

【绝对禁忌】 不要徐克武侠电影的水墨意境,不要飞檐走壁,不要飘逸侠客;不要水墨留白、烟雾缭绕、丁达尔效应滥用;不要神圣光束、戏剧化红色侧逆光;不要赛博朋克霓虹色、明亮糖果色、影视飓风暖橙;不要胡金铨式的纯黑剪影剧场光;不要卡通风格、像素风格、低多边形风格、风格化卡通;不要民国旗袍 = 清代旗装的错误印象;不要黄包车 = 日本和风人力车的错误印象;不要北平 = 上海外滩的错位(建筑不要做出欧式石库门);不要 CGI 塑料感(皮肤光滑无毛孔、布衣无纤维感、砖墙无起伏)。

────────────────────────────────

三、摄影机与镜头规格

3.1 摄影机与镜头

参数

规格

备注

机身

ARRI Alexa 65 / RED Monstro 8K VV

不要 Alexa Mini LF,宽容度不够

镜头

蔡司 Supreme Prime(25/35/50/85 mm)或安琴 Optimo 电影定焦

全程深锐利

光圈

T2.8 – T4

T2.8 做近景浅景深,T4 做街景

快门

172.8°(24 fps 标准电影快门)

运动模糊自然,不要游戏拖影

感光度

ISO 800 – 1600 原生

不要超过 3200

色温

日光 5600 K / 灯笼煤气灯 3200 K / 油灯 2700 K

 

宽容度

15 档以上

保留暗部层次,胡同阴影里的人物表情不能糊成黑块

解析度

8K 拍摄 → 4K 输出

画面锐利纯净无噪点

透视

横平竖直无畸变

建筑线条不要桶形/枕形失真

呼吸效应

极轻微

电影定焦固有,不要做出变焦感

影视帧率

90-144帧

影像特写清晰至每一帧,且画面画质要和对应高帧数比对的上

3.2 色彩科学

• 拍摄端:ARRI LogC3 或 RED Log3G10。

• 调色端:电影级 LUT 走 1930 年代北平老照片质感。

• 输出:Rec.709 / sRGB;ACES 只作为胶片曲线参考,不强行压高光。

• 整张画面有银盐颗粒感(极轻微,不要做成胶片噪点)。

────────────────────────────────

四、人物要求

【硬约束】 写实人物,真实人体结构,比例准确。注意!!!!必须强约束强制按照“四、人物要求”中的“4.1主要角色设定”“4.2共同硬约束”当中对于各个人物从年龄、肤色与容貌、服装与配饰、以及备注所注明的其他要求,都给我一 一满足了

4.1 主要角色设定

角色

年龄/体型

肤色与面容

服装与配饰

备注

祥子

18–22 岁北平农村青年

肩宽腰细,手臂肌肉发达(拉车三年);皮肤被日晒成古铜色,颧骨略高;剃头短发或毡帽下露出青皮

灰布对襟短褂、黑布裤子、布鞋——不是长衫马褂(他没钱穿)

身上要有汗渍、灰土、车辙——这是他的体面与卑微的来源

虎妞

30 出头

体态壮实不苗条,肤色偏黑红;梳老北京旗头或剪短发

暗红/绛紫棉袄,脚蹬绣花布鞋

不是恶妻脸谱,是她自己也被这地方塑造

刘四爷

50 多岁

圆脸微胖,留八字胡

灰长衫、戴瓜皮帽

车厂老板的体面

曹先生

30 多岁

白面书生,戴圆眼镜

蓝布长衫,文人气

雇主,不戴瓜皮帽不穿马褂

高妈

40 岁上下

干练利落

盘头,穿藏青布褂子

曹家佣人

小福子

16–17 岁

瘦弱单薄

梳辫子或剪学生头,穿打补丁的月白布衫

不是苦情女,有自己的判断和算计

车夫群体

成年男性

粗糙黝黑

破烂灰褂子、汗渍、补丁、卷起的裤腿、布鞋磨得露脚趾

群体配角要丰富,不重复

4.2 共同硬约束

• 五官端正,表情自然,神态符合场景氛围。

• 肢体正常,手指数量正确(五指),关节自然无畸形。

• 服装质感真实:棉布的褶皱、汗渍、磨损、补丁针脚都能看清。

• 服装与建筑环境协调(北平民国初年,不是清代也不是 1949 后)。

• 人物在画面中比例适当,不突兀(场景人像比 1:7 到 1:15 之间)。

• 人物身上有自然的轮廓光或明暗过渡。

• 光影对比强烈但不过曝,层次分明。

4.3 人物数量与渲染约束

• 同屏可视范围内人物几何体共享一份,行当色走 instanceColor,避免显存溢出。

• 远处(≥30 米)把车/轿/担子等行当道具隐掉,只留身体;凑近再长出来。

• NPC 没有面部动画,但要有「走路姿态区分」:车夫拉车、挑担的弓步、闲逛的慢步。

• 主角在画面中比例适当(人像比 1:7–1:15),不突兀。

────────────────────────────────

五、光影

5.1 北平日光气质

北平初夏到深秋的日光——干燥、清冽、不浪漫。

• 晴天:上午 9 点到下午 4 点之间顶光偏硬,影子短而黑;早晨与黄昏有低角度长投影,影子拉过整条胡同。

• 逆光:祥子拉车从西向东,黄昏从西边来——车夫与车的剪影参考凌子风版《骆驼祥子》开篇与结尾镜头。

• 门洞光:从四合院门洞里漏出来的光,照在门外车夫脸上,半脸亮半脸暗。

• 槐树荫:夏天胡同里有树荫,碎光打在青砖地上。

• 煤烟与尘土:空气里能看到悬浮的煤烟颗粒(1920 年代北平烧煤球),逆光下成金色光柱。

• 油灯 / 煤气灯:夜晚人家里透出的昏黄暖光(色温 2700 K 左右),从窗纸、门缝里漏出。

5.2 戏剧化但不滥用

• 戏剧化侧逆光或逆光,营造剪影与轮廓光——参考《新龙门客栈》大漠孤烟的苍茫光线,或《狄仁杰》系列的神秘雾气氛围(这两条只借用光影气质,不借侠客)。

• 光影对比强烈,层次分明;不要平光、不要后期 HDR 化的天空。

• 人物身上有自然的轮廓光或明暗过渡。

5.3 绝对禁忌

【禁止】 不要戏剧化的红色侧逆光(那是武侠片);不要水墨烟雾缭绕;不要神圣光束;不要丁达尔效应滥用;不要过度 HDR 化的天空。

────────────────────────────────

六、材质细腻表现

6.1 青砖灰瓦(北平民居主体)

• 青砖:30–50 年的风化痕迹,砖缝长出细细的灰白碱霜,边角磨损圆钝,颜色从深青到灰青过渡。

• 灰瓦:瓦垄清晰,单片瓦有微小翘曲,瓦面有积灰与鸟粪痕迹,瓦当纹样可见。

• 墙根:离地 30 cm 处有水渍、苔痕、霉斑形成的深色带。

6.2 木质结构(门、窗、檐、柱)

• 大漆木门:朱红大漆历经风雨后的斑驳剥落,露出底下灰褐色木纹。

• 原木门板:未上漆的榆木或松木门板,纹理清晰,钉帽生锈。

• 门钉:朱红大门上的铜门钉(九九八十一颗),铜绿氧化,颜色从亮铜到暗绿。

• 窗棂:万字格、步步锦等传统窗格,窗纸透光,半透明米黄色。

• 檐柱:漆面剥落,木纹外露,柱础有磨损。

6.3 石材与基座

• 石狮子 / 门墩 / 抱鼓石:凿痕清晰,沧桑质感,风化肌理。

• 上马石 / 拴马桩:北方四合院门口常见。

• 石板路:青石板被车辙碾出凹槽,板缝里长草。

• 黄土路:未铺石的胡同,干燥时浮土,湿润时泥泞。

6.4 金属构件

• 铜铃铛:黄包车把上的铜铃,铜绿氧化 + 局部磨亮的铜色。

• 铁门环 / 铺首:门上的铁环,铁锈痕迹。

• 铜烟袋锅 / 烟袋杆:老北京爷们的烟具。

• 白铜墨盒 / 烟盒:文人随身物件。

6.5 棉麻织物

• 灰布褂子:粗棉布纹理,汗渍、磨损、补丁针脚清晰。

• 长衫:细棉或丝绸,垂坠感强。

• 旗袍:织锦缎或棉布,民国款式(不是清代旗装)。

• 布鞋:千层底布鞋,鞋面有土,鞋底磨损。

6.6 招牌与市招

• 幌子:药铺挂暗青色、饭铺红幌、当铺黑底「當」字。

• 木牌匾:黑底金字或金底黑字,木纹外露。

• 招幌:布招有褶皱,字迹褪色。

• 路边摊:油布棚、豆腐脑挑子、剃头挑子。

6.7 交通工具

• 黄包车:木质车架(榆木为主),铜铃铛,黑漆车斗(斑驳),橡胶车轮外裹铁皮瓦圈,铜轴头——所有金属件有氧化痕迹。

• 马车 / 骡车:北方常见的胶轮大车。

• 自行车:1920 年代已传入北平,少数人骑。

6.8 烟雾与大气

• 晨炊煤烟:清晨屋顶烟囱冒烟。

• 浮尘:晴天胡同里有微尘悬浮。

• 冬日哈气:冬天人物呼出的白气。

• 雨后青砖:湿青砖颜色加深,反光率提高(粗糙度压低,环境反射抬起)。

────────────────────────────────

七、电影级色调 · 老北平民国美学

7.1 整体基调

低饱和、中对比、暖中带灰——像老照片的银盐质感,不是数码清新,不是水墨飘逸。

7.2 主色板(CIE Lab 近似)

色名

用途

近似 Lab

色感

青灰

北平民居的底色(砖墙、石板路、阴天)

L55 a-2 b-5

稳重、不抢戏

土黄

阳光下的土地、墙面浮灰、秋天落叶、玉米面饼子

L60 a+5 b+25

暖但不燥

朱漆红

大门、灯笼、幌子点缀

L40 a+45 b+30

降饱和后呈暗朱砂

烟煤黑

屋瓦、阴影、车轴

L20 a0 b-3

墨绿黑

暮秋金

秋天的槐树、落叶、夕阳余晖的反射光

L70 a+10 b+45

短暂

月白

月色、窗纸、雪地老北平的冬天

L85 a-3 b-2

冷但不惨

7.3 影调原则

• 暗部偏墨青或深褐——不要纯黑(电影宽容度保留暗部细节)。

• 高光微暖如夕阳余晖,不要冷白。

• 朱漆红或暖金作为点缀色,不超过画面 8% 面积。

• 整张画面有银盐颗粒感(极轻微,不要做成胶片噪点)。

7.4 配色禁忌

【禁忌】 不要赛博朋克霓虹色;不要明亮饱和的糖果色;不要影视飓风式的高对比暖橙;不要胡金铨式的纯黑剪影剧场光。

────────────────────────────────

八、画面质感

• 电影机实拍清晰锐利,边缘干净分明,无胶片颗粒(用 ARRI 拍摄而不是 16 mm)。

• 人物与建筑材质纹理真实细腻:脸上的皱纹、布衣的针脚、青砖的碱霜、瓦垄的积灰——这些细节是写实的根本。

• 景深真实:T2.8 近景虚化、T4 街景。

• 运动模糊:拉车跑动时车轮有自然运动模糊(172.8° 快门),不要做游戏那种帧间拖影。

• 色散 / 像差:极轻微的紫边 / 绿边只在高反差边缘,不要做出明显的镜头瑕疵感。

• 整体气质:凌子风版《骆驼祥子》开篇长镜头那种不加修饰的现实感,吴贻弓《城南旧事》结尾送别镜头那种克制的诗意。

────────────────────────────────

九、六大场景逐项适配

保持原图六大场景的骨架,把每一片「盒子」改造成可信的民国北平空间:

场景

当前形态

写实目标

人和车厂

木盒围合

老北京车厂院落:青砖灰瓦、土地面、棚子下停着十几辆黄包车、墙上挂车夫褂子、槐树下拴骡子

商业街(前门大街)

灰盒排列

大栅栏式商业街:朱红门脸、各色幌子、青石板路面、行人(穿长衫的、挑担的、拉车的)、叫卖声来源方向

正阳门大街

平铺土黄

民国北平主干道:石板路、电线杆、有轨电车轨道(1929 年通车)、远处正阳门城楼灰砖剪影

文津街 / 北海大桥

黑色几何

北海大桥白石栏杆、桥下河水、远处白塔、绿树成荫、北图书馆(国立北平图书馆)老建筑

景山爬坡

灰色阶梯

景山公园上山道:青砖阶梯、两侧老槐树、登顶可俯瞰紫禁城灰瓦屋顶海

白房子 / 乱死岗子

灰盒茅屋

北平南城贫民窟:低矮土坯房、垃圾堆、远处义园坟包、枯树、电线杂乱——苍凉但不诗意化,这是骆驼祥子精神崩溃的地方,不要美化

────────────────────────────────

十、输出要求

10.1 渲染规格

• 分辨率:单帧 ≥ 3840×2160(4K),关键镜头 ≥ 7680×4320(8K)。

• 格式:16-bit 线性 EXR(拍摄端) → 调色后 10-bit sRGB(输出端)。

• 色管:ARRI LogC3 输入 → ACES 胶片曲线 → Rec.709 / sRGB 输出;ACES 只当胶片曲线参考。

• 阴影:PCFSoftShadowMap;阴影隔 3 帧重画;阴影相机 ±40 m 每帧跟主角走。

• 曝光:随时辰走(正午 ≈1.05,夜里不压到 1.05 是因为夜灯会糊成一团)。

10.2 性能预算(4GB 显存基线)

预算项

阈值

备注

三角面

中档 ≤260k

指令原文 ≤80k 与街面丰富度不可兼得,已在三档里摊开

DrawCall

≤220

 

材质

≤30 张

单例缓存,硬顶 30 张

贴图

≤20 张

程序化生成,seed 来自 tuning.texSeed,可复现

夜灯

同屏 1–12 盏

全城灯位 ≤178;点光源阴影整条关(避免 shader 重编译)

阴影贴图

≤24 MB

 

同屏可视 NPC

≤191 人

行当色走 instanceColor;远处 ≥30 m 隐掉

帧率目标

≥30 fps

中档在 RTX 4050 Laptop 4GB 实测 33.9–44.6 fps

10.3 美术档位

• 0 省档:tuning.artDetail=0,面数 ~225k,47–56 fps。

• 1 中档(出厂默认):tuning.artDetail=1,面数 ~255k,34–45 fps。

• 2 精档:tuning.artDetail=2,面数 ~285k,31–38 fps。

• 调试可用 URL 参数 ?artdetail=0/1/2 直接挂单文件,不必重拼。

10.4 不留 AI 生成痕迹

• 手指数量正确、左右对称正常、关节无畸变、衣纹连贯、表情自然。

• 不要 CGI 塑料感:皮肤有毛孔与微血管、布衣有纤维感、砖墙有微小起伏。

• 不要游戏化夸张:色彩不做后期 LUT 矫情处理、不加粒子光斑。

────────────────────────────────

十一、验收清单

下列 17 项全部满足才视为本轮写实化交付完成;其中 5–6 项已有机械断言(_visual-check.js),其余由无头实拍 + 像素探针兜底。

#

检查项

口径 / 兜底

1

人物五官端正、手指数量正确、无畸形

无头实拍 + 人工目测

2

服装为民国初年北平款式,不是清代也不是当代

人工目测

3

建筑是青砖灰瓦四合院,不是欧式也不是日式

V7 每院 ≥5 件

4

路面为青石板或黄土,没有沥青和水泥

V2 地面 σ≥25

5

黄包车是民国款式(木车架、铜铃铛、黑漆车斗)

V8 轮段数 ≥16

6

招牌幌子为传统中式(藥/當/酒/布),不是霓虹灯

人工目测

7

光线为北平日光质感,没有戏剧化红侧光

V3 阴影覆盖 / 边缘不过锐

8

色调为低饱和银盐质感,不是数码清新

V4 金属高光、整体饱和度

9

景深为电影定焦镜头质感,不是游戏全清晰

T2.8 近景虚化抽查

10

整体气质为凌子风版《骆驼祥子》的现实主义,没有浪漫化

绝望档不盖 PBR(V10)

11

阴影不断层

V1 阴影 110 级

12

背景不黑不白

V5 背景 122/124

13

雾与天顶渐变自然

V6 四档雾密度 + 天顶跳变 99.5 分位

14

入夜同屏 1–12 盏灯亮

V9 夜点 1–12

15

三角面、DrawCall、材质、贴图四项预算

B1–B5

16

人群实例化

B5 实例网格 ≤20 张,场景 mesh ≤260

17

绝望档不盖 PBR

V10 saturate(0.48)

────────────────────────────────

十二、禁止清单

• 徐克武侠电影的水墨意境、飞檐走壁、飘逸侠客。

• 水墨留白、烟雾缭绕、丁达尔效应滥用。

• 戏剧化红侧逆光、神圣光束。

• 赛博朋克霓虹、明亮糖果色、影视飓风暖橙。

• 卡通风格、像素风格、低多边形风格、风格化卡通。

• 民国旗袍 = 清代旗装的错误印象。

• 黄包车 = 日本和风人力车的错误印象。

• 北平 = 上海外滩的错位(建筑不要做出欧式石库门)。

• AI 生成常见的畸形:六指、扭曲脸、不连贯的衣纹。

• CGI 塑料感:皮肤光滑无毛孔、布衣无纤维感、砖墙无起伏。

────────────────────────────────

十三、实现路径建议

• 材质族表按色相归一化查族:同一个色乘暗 12% 仍落回同族,认不出走最近邻,兜底 wall.plaster。

• 贴图用 canvas 程序化生成(Sobel 法线 + AO/粗糙/金属共用遮罩),seed 来自 tuning.texSeed,可复现。

• 建筑群按「一族一张网格」烘焙(一个件一个对象会让 DrawCall 先炸)。

• 黄包车轮 24 段 + 16 辐 + 铁箍 + 铜轴头 + 铜铃 + 夜灯;轮子必须正着装(侧着装滚起来像翻硬币)。

• 人 13 部件分关节摆角,腿臂反相、腰随步幅起落、头左右慢看;拉车行当手臂预置 -0.95。

• 人群 InstancedMesh(按「几何体|材质」合批,行当色走 instanceColor)。

• 天气:雨/雪/湿面把 roughness 压到 0.38 倍、IBL 反射抬起;雪把屋面与树顶提亮一档。

• 夜灯:全城灯位 178,同屏最多 12 盏 PointLight,不用时 intensity=0(避免 shader 重编译)。

• 雾:晴 0.0035 / 沙尘 0.012 / 夜 0.005。

• 色管:贴图与输出都是 sRGB;ACES 只当胶片曲线用。

【可验】 十二道视觉门(V1–V12)+ 五条预算(B1–B5)全部用 _visual-check.js 跑无头数值断言,不靠人眼。本规格的所有硬指标都是可机器判定的。

────────────────────────────────

附:原 ARRI/RED 要求

ARRI/RED 电影机实拍建筑影像,大画幅电影传感器质感,画面中出现写实人物,人物真实准确无畸形。

视觉风格参考:《新闸客栈》《黄飞鸿》《笑傲江湖之东方不败》《狄仁杰之神都龙王》《蜀山传》——(本项目只借用光影气质的逆光与轮廓光,不借用侠客与水墨)。

ARRI Alexa 65 或 RED Monstro 8K VV 大画幅电影机;蔡司 Supreme Prime 或安琴 Optimo 电影定焦镜头;T2.8–T4 光圈,全程深锐利,画面纯净无噪点;ISO 800–1600 原生感光度;15 档宽容度;透视与原图一致,横平竖直无畸变。

戏剧化侧逆光或逆光,营造剪影与轮廓光;光影对比强烈,层次分明;暗部偏墨青或深褐,高光微暖如夕阳余晖;朱砂红或暗金作为点缀色;ARRI LogC3 色彩科学,电影级 LUT 调色。

电影机实拍清晰锐利,无胶片颗粒,无噪点;人物与建筑材质纹理真实细腻,边缘干净分明;电影截图级品质,苍凉诗意,大气磅礴。

——以上五条是原版提示词的核心约束,本项目在保留其摄影机/镜头/宽容度/色彩科学等技术骨架的同时,将其「浪漫主义武侠诗意」气质全部替换为「凌子风式北方写实主义」,并落到 1920–1930 年代老北平的市井烟火。

Shader code
Shader 
23
Properties 
4
{ 
5
_Color ("Color Tint", Color) = (1,1,1,1) 
6
_RampTex ("Ramp Tex" , 2D) = "white" {} _Specular ("Specular" 
7
, Color)= (1,1,1,1) 
8
Gloss ("Gloss", Range(8.0,256))= 20
910
SubShader 
1112
Pass 
13
{ 
Tags{"LightMode"-"ForwardBase"} 
1415
CGPROGRAM 
16
#pragma vertex vert 
17
#pragma fragment frag 
#include "Lighting.cginc" 
181920
fixed4_Color; 
21
sampler2DRampTex; 
22
float4_RampTex_ST; 
23
fixed4_Specular; 
float_Gloss; 
242526
struct a2v{ 
27
float4 vertex:POSITION; 
28
float3 normal:NORMAL; 
29
float4 texcoord:TEXCOORDO; 
}; 
303132
struct v2f{ 
33
float4 pos:SV_POSITION; 
34
float3 worldNormal:TEXCOORDO; 
35
float3 worldPos:TEXCOORD1; 
36
float2 uv:TEXCOORD2; 
37
}; 
3839
v2f vert(a2v v){ 
40
v2f o; 
41
o.pos=UnityObjectToClipPos(v.vertex); 
o.worldNormal=UnityobjectToworldNormal(v.normal); 
4243
o.worldPos=mul(unity_ObjectToWorld,v.vertex).xyz; 
44
o. UV=TRANSFORM_TEX(v.texcoord,_RampTex); 
45
return o; 
} 
4647
fixed4 frag(v2f i):SV_Target{ 
4849
fixed3 worldNormal=normalize(i.worldNormal); 
50
fixed3 worldLightDir=normalize(UnityWorldSpaceLightDir(i. worldPos)); 
fixed3 ambient=UNITY_LIGHTMODEL_AMBIENT.xyZ; 
5152
fixed halfLambert=0.5*dot(worldNormal,worldLightDir)+0.5; 
53
fixed3 diffuseColor=tex2D(_RampTex, fixed2(halfLambert,halfLambert)).rgb*_Color.rgb; 
fixed3 diffuse= LightColor0.rgb*diffuseColor; 
5455
fixed3 viewDir=normalize(UnityworldSpaceViewDir(i.worldPos)); 
56
fixed3 halfDir=normalize(worldLightDir+viewDir); 
57
fixed3 specular=_LightColoro. rgb*_Specular.rgb*pow(max(0,dot(worldNormal,halfDir)),_ Gloss); 
58
return fixed4(ambient+diffuse+specular,1.0); 
59
} 
60
ENDCG 
6162
H 
Fallback "Specular" 
The shader code and all code snippets in this post are under CC0 license and can be used freely without the author's permission. Images and videos, and assets depicted in those, do not fall under this license. For more info, see our License terms.

More from suxi_365@qq.com

Related shaders

guest

0 Comments
Oldest
Newest Most Voted