十年匠心定制 · 商业建站与技术教学双线并行 咨询热线:400-886-1026 service@lmnt.cn
ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

rayshader三大核心函数拆解:height_shade、plot_3d与render_highquality参数全解

rayshader三大核心函数拆解:height_shade、plot_3d与render_highquality参数全解 rayshader三大核心函数拆解height_shade、plot_3d与render_highquality参数全解【免费下载链接】rayshader_portraits项目地址: https://gitcode.com/gh_mirrors/ra/rayshader_portraits本文面向新手结合开源项目rayshader_portraits一个用 R 包 rayshader 制作 3D 阴影地形与人口密度肖像图的完整示例库拆解 rayshader 三大核心函数height_shade着色、plot_3d构建 3D 场景、render_highquality高质量渲染导出并逐一讲清常用参数的含义与调优技巧帮你在 30 分钟内跑通自己的第一张 rayshader 3D 阴影地图。一张图看懂三大核心函数的分工在 rayshader_portraits 中每幅图都遵循同一条流水线可参考标准模板 R/templates/elevation/render_graphic.R步骤核心函数职责类比①height_shade()给高度矩阵上色生成纹理给 3D 地形上色②plot_3d()打开交互窗口调整视角与地形夸张度在工作台上摆好模型③render_highquality()离线渲染输出高分辨率 PNG把成品拍照存档一句话记忆先着色再摆拍最后出大片。第一步height_shade 给地图着色height_shade()接收一个高度矩阵数字矩阵每个值代表一个像素的高度把它转换成一张彩色纹理图。核心参数只有两个texture颜色渐变通常用colorRampPalette(colors)(256)从一组色板生成 256 级渐变heightmap2可选用第二套颜色叠加第二个图层比如海平面以下用蓝色、以上用地形色。示例中色板来自国家公园配色包mat %% height_shade(texture grDevices::colorRampPalette(colors)(256))进阶技巧想低处一套色、高处一套色项目里自研的height_shade2()按指定高度值split把矩阵切成上下两段分别着色实现见 R/utils/height_shade2.R。红杉国家公园图 R/portraits/sequoia/render_graphic.R 就用了split 3500让林线与雪线过渡更自然第二步plot_3d 构建可交互的 3D 场景plot_3d()是新手最常调的函数它的参数决定了这张图长什么样。以下是项目模板 R/templates/elevation/render_graphic.R 中的完整用法及逐条解读参数模板取值作用与调优建议heightmap/hillshademat前者传高度矩阵后者传第一步的着色结果solidFALSE是否绘制实体块作者偏好 FALSEzres分辨率/5地形夸张倍数值越小山越高需按数据分辨率微调shadowdepth最低值-500阴影地面位置设在数据最小值之下即可windowsizec(800, 800)预览窗口大小调参阶段保持小尺寸即可phi90俯仰角太阳高度感90 为正上方0 为侧面theta0水平旋转角0 保持北朝上的地图习惯zoom1缩放比例backgroundwhite背景色窗口打开后可用render_camera(phi 80, zoom 1, theta 0)反复微调视角无需重建场景——这是迭代调参最高效的方式。新手避坑调参阶段务必先用低分辨率数据如z 10或用resize_matrix(mat, 0.25)缩小矩阵让每次刷新只需几秒满意后再拉满精度渲染。第三步render_highquality 输出大片render_highquality()是真正出图的函数它关闭交互、离线渲染并保存 PNG。常用参数参数示例取值作用与调优建议第一个参数文件名outfile输出路径渲染前建议先试写一次避免几小时后才发现路径错误samples300/450采样次数越多越干净官方建议配合 sobol 采样取 256 以上width/height6000/8000决定最终图片分辨率注意渲染时间会成倍增长lightTRUE/FALSE开关点光源lightdirection/lightcolor/lightintensity/lightaltitude见下方多光源数组可打出冷暖对比的戏剧化光效environment_lightHDR 文件路径用 HDR 环境贴图打光效果最接近自然光照intensity_env/rotate_env1.5/-20环境光强度与旋转角度interactiveFALSE关闭交互防止误触中断长任务两种打光思路的对比项目中真实使用环境光方案高程图模板light FALSE HDR 环境贴图光感自然柔和多光源方案人口密度模板 R/templates/population/render_graphic.Rlight TRUE 四组lightdirection等参数冷暖光交错适合悬浮点阵风格的人口图。完整工作流从模板到成品图项目把整套流程模板化新手照着走即可创建新图目录运行隐藏函数.new_portrait(map)定义于 R/utils/on_load.R它会自动从elevation或population模板复制render_graphic.R与markup.R调参渲染运行 R/portraits/bryce_canyon/render_graphic.R 这类脚本小数据快速迭代 →render_highquality()出大片添加文字标注运行同目录的markup.R用 ImageMagick 叠加标题、说明与署名输出最终成品查看成品所有成品小图都收录在tracked_graphics/目录可对照学习不同色板如 okeeffe、glacier_arches2、green_gold的打光与配色风格。小结三函数的调参口诀height_shade色板决定气质256 级渐变 双段着色是最常用的两个手段plot_3dz夸张度、phi俯仰角、theta旋转角是三大视觉旋钮配合render_camera()反复微调render_highquality先试写文件路径samples取 256 以上width/height决定最终分辨率打光二选一HDR 环境光 or 多光源。掌握这三个函数你就能基于 rayshader_portraits 的模板把任意高程数据或人口数据变成一张值得挂墙的 3D 阴影地图 ️【免费下载链接】rayshader_portraits项目地址: https://gitcode.com/gh_mirrors/ra/rayshader_portraits创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表