当前位置: 首页 > news >正文

贵阳网站优化公司如何制作网页图片素材

贵阳网站优化公司,如何制作网页图片素材,四川招标采购网,高品质网站建设公司文章目录 介绍自定义shaderNodeMaterial骨骼材质特殊处理 介绍 Tri-panner 在babylonjs中有支持 但是three.js目前的基础材质并不支持 需要自己定义shader 或者使用目前还没有什么完善的文档的 NodeMaterial 下面展示两种实现方式 自定义shader /*** description: 替换三角面… 文章目录 介绍自定义shaderNodeMaterial骨骼材质特殊处理 介绍 Tri-panner 在babylonjs中有支持 但是three.js目前的基础材质并不支持 需要自己定义shader 或者使用目前还没有什么完善的文档的 NodeMaterial 下面展示两种实现方式 自定义shader /*** description: 替换三角面贴图 https://doc.babylonjs.com/toolsAndResources/assetLibraries/materialsLibrary/triPlanarMat* param {SingleMaterialMesh} mesh* return {*}*/ export const useTriplanarMapping (mesh: SingleMaterialMesh) {const material mesh.material.clone();mesh.material material;material.map!.wrapS THREE.RepeatWrapping;material.map!.wrapT THREE.RepeatWrapping;material.onBeforeCompile (shader) {shader.vertexShader shader.vertexShader.replace(#include common,#include commonvarying vec3 tripPosition;varying vec3 tripNormal;);shader.vertexShader shader.vertexShader.replace(#include fog_vertex,#include fog_vertexvec4 tripPosition4 modelMatrix * vec4(position,1.) ;tripPosition tripPosition4.xyz;tripNormal normal * normalMatrix;vec3 world_space_normal vec3(modelMatrix * vec4(normal, 0.0));tripNormal normal;);shader.fragmentShader shader.fragmentShader.replace(#include common,#include commonvarying vec3 tripPosition;varying vec3 tripNormal;vec3 blendNormal(vec3 normal){vec3 blending abs( normal );blending normalize(max(blending, 0.00001)); // Force weights to sum to 1.0 float b (blending.x blending.y blending.z);blending / vec3(b, b, b);return blending;}vec3 triplanarMapping (sampler2D tex, vec3 normal, vec3 position) {vec3 normalBlend blendNormal(normal);vec3 xColor texture(tex, position.yz).rgb;vec3 yColor texture(tex, position.xz).rgb;vec3 zColor texture(tex, position.xy).rgb;return (xColor * normalBlend.x yColor * normalBlend.y zColor * normalBlend.z);});shader.fragmentShader shader.fragmentShader.replace(#include map_fragment,#include map_fragmentdiffuseColor.rgb vec3(triplanarMapping( map ,tripNormal,tripPosition)););// shader.fragmentShader shader.fragmentShader.replace(// #include color_fragment,// // #include color_fragment// diffuseColor.rgb vec3(triplanar_mapping( map ,tripNormal,tripPosition,1.0));// // );}; }; NodeMaterial 这是threejs新系统充满未来 目前还没有一个完善的文档 并且不太稳定 r132的时候支持这个材质 r138就被删除了 一些api也都有变化 可以先参考 https://raw.githack.com/sunag/three.js/dev-nodes-doc/docs/index.html#manual/en/introduction/How-to-use-node-material import {MeshBasicNodeMaterial,texture,triplanarTexture, } from three/examples/jsm/nodes/Nodes.js; import { nodeFrame } from three/examples/jsm/renderers/webgl/nodes/WebGLNodes.js;const skyMat new MeshBasicNodeMaterial();skyMat.colorNode triplanarTexture(texture(this.helper.loadTexture(/public/textures/coral_stone_wall_diff_1k.jpg,(map) {map.colorSpace THREE.SRGBColorSpace;map.wrapS THREE.RepeatWrapping;map.wrapT THREE.RepeatWrapping;})) ); skyMat.side THREE.DoubleSide;const sky new THREE.Mesh(new THREE.SphereGeometry(2, 32, 15), skyMat); scene.add(sky);animation() {nodeFrame.update(); }要注意每一次render 同时调用 nodeFrame.update(); 否则报错 骨骼材质特殊处理 这个问题需要根据three版本进行区别处理 r160版本 使用的是 position r155版本使用的是 nodeUniform2 * vec4( 忘了叫什么了, 1.0 ) 总之每个版本可能不一样 因为 节点系统正在开发 需要对应版本对应处理 r160版本写法如下 material.onBeforeCompile (shader) {material.vertexShader shader.vertexShader.replace(#include skinning_vertex,#include skinning_vertexnodeVarying2 (modelMatrix * vec4(transformed,1.0)).xyz;); };r155版本写法如下 material.onBeforeCompile (shader) {material.vertexShader shader.vertexShader.replace(#include skinning_vertex,#include skinning_vertexnodeVarying2 ( nodeUniform2 * vec4( transformed, 1.0 ) ););};
http://www.dnsts.com.cn/news/264345.html

相关文章:

  • 怎么修改自己的网站如何做直接打开网站的二维码
  • 网站建设背景图片网站推广优化技巧大全
  • 模板 网站网站平台建设费用的会计核算
  • 做rap的网站网站建设工具的实验心得
  • 图片转链接生成器在线泊头 网站优化
  • 旅游网站栏目建设wordpress网站维护插件
  • 程序员做电商网站的公司好吗wordpress侧栏
  • 视频变成网站怎么做的装修公司网站建设的意义
  • 最专业网站建设开发网站建设如何制作教程
  • 建设银行信用卡网站查询wordpress 手机 模板
  • .net做网站后台久久理财网
  • 新手做网站最简单流程科技之锤
  • 湖南工程建设监理有限公司网站wordpress ie很慢
  • 北京cos网站网页小游戏免费的小游戏
  • 免费开源的个人网站系统it行业做网站一个月多少钱
  • 网站模板紫色租房子做民宿在哪个网站
  • html5网站建设源码确定目标是指
  • 织梦网站怎么做伪静态电商小程序开发平台
  • 怎样用网站做淘宝客西部数码官网
  • 兰州电商平台网站建设wordpress站群服务器
  • 网站开发人员绩效如何计算专门做预售的网站
  • 网站接入服务单位电脑做服务器建网站并让外网访问
  • 做淘宝客网站需要多大的数据库诚信网站建设
  • 公众号开发难吗厦门seo排名外包
  • 南昌师范学院网站建设的意义和目的辽宁专业网站建设大全
  • 网站模板下载破解版05网英语课课练答案
  • 网站建设网站推广万网域名查询官网
  • 专业的移动网站建设公司哈尔滨做网站收费
  • 站长工具端口网站跨平台
  • 网站建设h5 招聘静宁门户网站