绘画-3D世界
把原画的空间关系做成可转身、可移动的世界。原画是构图和造型的依据;画外延伸是创作,不能声称为画家的原意。
完成条件是逐幅通过原画构图、四周空间、天空/上方、主体细节、光照效果和游览检查。光照不得遗漏,也不能留到用户指出后才补。 网页能打开、坐标合法、帧率正常、物体数量增加或 shadowMap.enabled=true,都不能代替这些检查。任何一项未通过,该世界保持 needs-work,不得把整个系列报告为完成。
第一步:生成额外三个方向的观看图
先查看实际图像,确认作品、年份、收藏机构和具体版本。相同主题常有多个构图;不要用另一幅桥、火车站或议会大厦的颜色替代当前版本。搜索优先使用博物馆藏品页和其开放图像接口,保存来源链接、下载地址和许可说明。来源图片包含白边、说明文字时,用明确像素矩形或 CSS 裁切保留画作本身;不重绘所谓原图。
建模和正式列物件清单之前,先依据原画生成左侧、右侧、背后三张实际观看图。 原画作为正面 0°;默认固定观察位置、眼高和镜头尺度,分别左转 90°、右转 90°、背转 180°,生成同一世界的画外内容。使用可用的图像生成/编辑工具,保留画风、时代、光线和相邻物件的空间连接;逐张查看并修正不一致。执行前读取 references/directional-concepts.md 的生成约束与提示模板。只写三个方向的文字设想,不能算完成这一步。
将原画与三张生成图保存为四向参考组,标明方向和生成图性质;画外图是空间设计参考,不是画家原作或真实 3D 渲染证据。原画已有的物件在跨方向露出时保持身份、位置和造型一致。已有世界若缺少三向参考先补齐;已有且一致的参考可以沿用,空间设计变更时同步更新受影响的方向。
第二步:四向分析、数量清单与模块制作
在建模前写下前景、中景、远景、地平线、主轮廓、遮挡关系和色块比例。选 3–6 个可辨认的锚点,例如山峰、农舍、桥头、窗框或人物组合,记录原图归一化坐标。先在与原图相同的宽高比下匹配初始视角,再设计手机画面。小屏可适当扩大视野;若因此暴露空天、空地或把主体缩成中央小模型,应补空间并选择合理裁切/观察角度,不能靠搬动主物体或继续拉大视野解决。
三向生成图核对完成后,为每幅画写一份统一空间计划:结合原画和左、右、背后三图说明各方向及上方分别有什么,主体有哪些可辨认部件,游览路线和边界在哪里。室外每个水平方向都应说明近、中、远景如何衔接;室内说明相应墙体、门窗、家具和相邻空间。规划时读取 references/world-acceptance.md,把四张图统一到同一个世界布局,解决道路、岸线、建筑或植被的跨图矛盾后,再批量建模。
建模前建立四向物件清单:对每类物件分别统计正面、左侧、右侧、背后的可见数量或估计范围,并记录全场景去重后的总数、物件 ID、图像依据、位置与近远尺寸、各方向覆盖率、主辅色和关键部件。同一物件跨图出现只建一份;全场景总数不能直接把四向可见数相加。先制作并实际渲染单件或代表性的局部组,对照相应方向的参考图修正,再按清单逐类布置和组合。组合后逐方向复核实际可见数量、光照和遮挡;不能用“源码里已经有很多草/睡莲”代替可见效果。具体统计表与单件、组合关卡见 references/component-inventory.md,建立清单或修数量/密度/材质颜色时读取。
按实际场景选实体模块:连续地形和路径、水面与岸、建筑完整外壳或室内、植物体量、家具、人物、天空。复用底层几何与批处理能力;每幅画的地形、建筑轮廓、布局、主视角应独立设计。系列制作不能只换调色板或替换标题。
让世界成立
给前方之外的两侧、后方和可进入区域补上同一气候、时代与尺度的空间。实际体积、建筑侧背面、植物树干与冠层、屋顶和水岸都应经得起绕行。原画可作为对照图或材料细节参考,不能将整张画贴到平面后当作空间重建完成。
背面须有可游览、可辨认的空间关系。重复放几棵远树、铺一张大草地或水面、用浓雾盖住空白,不算补全。海面与田野可以开阔,但岸线、地平线、植被或人居痕迹应形成有意设计的景深。可移动边界与实体地面一致,边界之外还需可见的缓冲景带,避免转身或靠近边缘看见场景断口。
每个室外世界都显式配置天空或树冠遮蔽方案。 原画没画到天空,也要处理抬头及窄屏扩大的视野;不能因天空配置表漏掉该世界而悄悄退回默认纯色。按画作气候设计有明暗、云层或光线层次的天空,并与树冠衔接。明确的晴空可保留简洁;树冠密集的花园应补树枝、冠层空隙与其后天空。不能用一块无内容的背景色冒充已完成的上方空间。
地面网格、建筑落点、植被根部和步行相机共享高度规则。桥面、水面、地面要区分独立表面,控制器根据所在区域选择可行走层,核对桥头坡道和栏杆,避免水面跟着桥拱起或相机突然跳层。给墙、树干、家具和水岸设置与形状相符的碰撞或可通行边界,出生点和主要路线应清晰。高处俯瞰的原画可以使用明确的自由飞行模式,或者建造真实观景平台;不要把悬空相机当作地面步行。
先调整主轮廓、构图和色块,再增加笔触与小装饰。灯光、色调映射、雾和贴图会改变原画色彩,需在真实渲染里判断,不能只检查材料的十六进制颜色。几何表面可以使用笔触纹理、面片色差或实例化短笔触;保留可读的实体形状。
每幅场景在制作计划中显式安排光照,并作为独立视觉关卡验收。 按原画确定主光来源和方向、环境补光、投影接收面及接触处的明暗;室内尤其检查窗光、家具下面和墙角。单件渲染阶段就用接近最终场景的灯光,合成后核对实际可见的受光层次、物体投影和落地感。不要用全局均匀提亮、贴图自带明暗或过强环境光抹平体积,也不要为强调阴影把明亮原作改成昏暗房间。阴天与漫射光可以柔和,不强加硬边日照光斑。实施及排查须读取光影参考中的“室内光照与最终着色检查”。
区分材质底色、受光明暗、物体投影和水面倒影。烘焙在顶点里的明暗不能替代实际投影,水面的重复波纹也不能替代桥、船、树的倒影。原画以白墙为识别特征时,最终画面仍应读作白墙,而不是默认米黄房屋;检查亮部、冷色背光面与周围林带的对比。涉及光影、水景或密林修正时,读取 references/light-water-vegetation.md,按画作选用实际灯光、阴影和反射方案。
植被密度看遮挡与色块,不看树的总数。原画是连续密林时,用错落树冠、林下灌木和后方林体闭合从地面到冠层的体量,检查是否仍能从树干之间直接看到天空;疏林和有意留白则保留原作的空隙。按近、中、远景分层,保留主体、白墙、桥孔和路线,避免只有一排等距树干。侧向河道尽头若显得断空,可用延续林岸、弯曲岸线或低丘组织远景;新增山丘仅作为有依据或用户认可的画外延伸,不强加给所有平原或开阔水面。
主体按“轮廓、结构部件、表面材料、与环境的连接”逐层制作,并从原画提取至少三个适合当前取景的识别特征。近距离会看到的桥、船、建筑、家具,应有支持其尺度与用途的结构细节。桥的孔洞、体量和灰色材料只是粗模阶段;还要根据原作处理拱券/支承、桥墩、桥缘、栏杆和石材变化,检查桥头落岸及桥下视野。船须能读出船体、舷缘、甲板与相应桅索,避免用大方块代替可见结构。具体部件按原作取舍,不给所有画硬套同一套装饰。详细示例见验收参考中的“主体细节”。
同一项目已有用户认可的修正版时,以其主体造型、细节密度和空间完整度作为后续质量基准。不要擅自把整批降为统一极简粗模,再用“风格化”说明完成。对照结果按轮廓/遮挡、主体比例、主要色块和关键部件分别记录,不编造一个整体相似度分数。
先完成并视觉验收一幅代表作,再扩展系列。共享工具包可以复用,构图、四周扩展和主体造型要逐幅设计。修复共享天空、地形、渲染或相机逻辑后,重新检查受影响的每幅画。
默认使用克制的界面:标题、右上角默认展开且可收起的原画,必要的触屏摇杆;桌面 WASD/方向键移动、拖动环视、R 回到原视角。遵循用户当前选择,不强制新增地图、导览、图层和全屏工具。隐藏后必须能重新展开,触屏控件保持可点击。
需要动态时
先在物件清单中区分固定结构、扎根植物、固定边缘的布料、关节动作与沿路线行进的完整物件。保留原画的静态参考姿态;动态不能持续破坏初始构图。人物先核对衣服、站坐姿、头身比例与手持物,再决定哪些关节可动,避免所有人物统一替换成同一种模型。具体的层级、固定点、阴影与循环验收见 references/living-worlds.md,加入风、人物或车船鸟运动时读取。
对照与交付
通过项目服务器实际打开,等待几何和纹理就绪。在原图宽高比与手机视口拍摄截图,与原图并排检查:主体大小和位置、天与地比例、轮廓、遮挡、前中远景层次、调色及细节密度。构图检查时隐藏原图面板,另存面板展开的界面截图,避免叠层挡住锚点。原画本身裁切的桥端等可继续裁切;手机记录保留主体的取景策略,不强求所有锚点同时入画。先修正可见的大偏差;不能以增加树木数量代替构图修正。需要量化投影时使用 scripts/project-landmarks.py,其误差只衡量选定锚点,不代表整体视觉相似度。
正面实际渲染对照原画;左、右、背面实际渲染分别对照第一步生成的对应观看图,并回填四向清单的实际可见数/覆盖率与差异。生成观看图和最终浏览器截图分别保存,前者不能充当后者的完成证据。
逐幅执行以下验收,不能用抽查替代整批验收:
- 在出生点分别拍正面、左转约 90°、右转约 90°、背转约 180°和抬头至少 55°的实际渲染截图;这些视角保持相机位置一致。室外另拍至少 75°的近天顶;树冠遮蔽的场景再拍冠层边缘/空隙与天空的衔接。主视角只用于原画构图对照,其他视角用于查找空天空、空背面、断口和单面模型。
- 沿至少两条可达路线,用真实键鼠/触屏输入连续移动后再截图。路线应包含走向原画之外,以及靠近/绕到主结构侧面或背面;核对地面、岸边、桥头和模型连接。室内选择实际可达的门边/家具侧面。涉及桥头、阶梯、岸线等换层位置,另存途中证据并记录是否跳层/穿模。直接设置相机位置或只飞回原视角,不能证明路线通过。
- 逐张打开并目视检查截图,记录具体可见内容与缺陷。空白、过简、明显偏离原作或仅在正面成立时先修正再复拍。截图文件存在、文件名写着
rear,都不代表检查通过。 - 检查桌面与手机的构图、原画隐藏/恢复、移动/复位、触屏、窗口调整、资源加载与控制台;检查有限坐标、索引范围、出生点、路面高度和碰撞通路。运行检查与视觉检查分别记录。
- 独立记录光照验收:从实际截图指出主光方向、亮暗面、代表物件的投影及接触阴影,并在移动后确认稳定。看不到应有的光影时,先查最终材质/着色器、光源路径与遮挡;不能以光源对象存在或阴影开关为通过依据。复用上述方向、路线和手机截图即可,不另凑一套形式证据。
有相应内容时,在上述截图和路线中另外核对:白墙是否仍偏黄/偏灰、远林下缘是否漏天、侧向地平线是否收口、薄面伞/帆是否漏投影,以及倒影是否与物体水线相接、随视角变化且被波纹打散。移动后检查阴影稳定性;手机检查反射开销与实际帧率,不能用桌面结果代替。详细判断见光影与水景参考。
按验收参考保存每幅的计划、主体特征和截图证据。可运行 python3 scripts/validate-world-evidence.py <manifest.json> --require-passed 检查漏项、角度错误、重复截图、文件缺失及未通过项;该脚本只检查证据结构,图像内容仍须实际目视检查。
系列入口展示每个世界的真实封面、作品与作者、分类和可进入的链接。交付时区分“能运行”“已做正面构图”“已通过完整空间验收”,如实报告未通过的世界及问题。问题分别标记为已目视缺陷、证据不足、旧版本证据;没有截图不能推断场景一定没做,也不能当作已经通过。只有逐幅证据齐全、视觉问题已解决,才能把整批标记为完成。交付可运行本地地址与具体完成内容;发布仍按用户授权范围执行。
当轮廓、植被密度或相机总是偏离原图时,参阅 references/fidelity-lessons.md,其中记录圣维克多山与阿让特伊的桥的实际修正经验。