使用SVG做模型贴图的思路

简介: 使用SVG做模型贴图的思路

大多数情况下,三维模型使用PNG,JPG作为模型的贴图,当然为了性能优化,有时候也会使用压缩贴图来提高渲染效率和较少GPU压力。


今天提供一种新的思路,使用SVG作为模型的贴图,可以达到动态调整图片精度的效果。

使用svg作为贴图的思路,有两种。


直接作为贴图


直接使用贴图,其实和png jpeg的图片没有多少差别,加载的贴图效果,最终也会比 较模糊。 大致代码如下:


var cube2 = new mono.Cube(105 * 10,1094 * 10,1); cube2.setStyle('m.color','orange'); cube2.setStyle('front.m.texture.image','front01.svg'); cube2.p(-1000,0,0) box.add(cube2); ¨G0G let image = new Image(); ¨K5K


上面的先使用image对象加载svg图片,然后把svg图片绘制到canvas上面,注意绘制的时候放大的倍数是10.  (let scale = 10)。


最后得到的效果如下图右边对象所示:


微信图片_20220425141321.png

6271001-3433663ea1744871.png


可以看到达到了高清的效果。


拓展思路


  1. 可以根据镜头距离动态改变绘制的scale级别,达到lod的目的。
  2. svg 图片本身还支持动态修改属性,比如灯的颜色等,可以达到监控状态的改变的目的。


拓展思路,如果读者有兴趣,可以点赞,后续接着写。


总结


使用svg 图片,可以不用做高清的位图,结合canvas绘制,也可以得到高清的纹理贴图效果。


相关文章
|
4月前
|
前端开发 JavaScript
前端必看的8个HTML+CSS技巧 (六) 裁剪图像的动画
前端必看的8个HTML+CSS技巧 (六) 裁剪图像的动画
|
前端开发
如何用CSS实现不规则形状的背景
在设计网页时,有时需要用到不规则形状的背景。这种背景可以为网页带来更加生动的效果。在这篇文章中,我们将探讨如何用CSS实现不规则形状的背景。
1000 0
|
2月前
|
机器学习/深度学习 前端开发 算法
canvas系列教程03 —— 线的样式、绘制文本、操作图片(图片的渲染、缩放、裁剪、切割、平铺、特效)、变换元素(平移、缩放、旋转)(二)
canvas系列教程03 —— 线的样式、绘制文本、操作图片(图片的渲染、缩放、裁剪、切割、平铺、特效)、变换元素(平移、缩放、旋转)(二)
30 0
|
2月前
|
存储 前端开发 JavaScript
canvas系列教程03 —— 线的样式、绘制文本、操作图片(图片的渲染、缩放、裁剪、切割、平铺、特效)、变换元素(平移、缩放、旋转)(一)
canvas系列教程03 —— 线的样式、绘制文本、操作图片(图片的渲染、缩放、裁剪、切割、平铺、特效)、变换元素(平移、缩放、旋转)(一)
83 0
|
2月前
|
前端开发
前端 CSS 经典:clip-path 裁剪
前端 CSS 经典:clip-path 裁剪
25 0
|
10月前
Photoshop怎么实现图片局部马赛克
Photoshop怎么实现图片局部马赛克
80 0
|
12月前
|
前端开发
css三角号旋转90度,上下移动动画效果demo效果(整理)
css三角号旋转90度,上下移动动画效果demo效果(整理)
【Three.js入门】纹理及其常用属性、透明纹理、环境遮挡贴图与强度
【Three.js入门】纹理及其常用属性、透明纹理、环境遮挡贴图与强度
425 0
|
定位技术
Cesium系列:加载不规则形状出图
Cesium加载不规则形状出图
384 0
|
前端开发
SVG 入门基础(2)形状元素
SVG 入门基础(2)形状元素
125 0
SVG 入门基础(2)形状元素