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

贵阳网站优化公司wordpress5.2 icp备案号

贵阳网站优化公司,wordpress5.2 icp备案号,免费建立教育网站,做网站租服务器需要多少钱文章目录 介绍自定义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/129239.html

相关文章:

  • 深圳贸易网站建设网页制作dw软件
  • 现在由哪些网站可以做外链做网站需要什么技术员
  • 旅游网站对比模板上海注册公司流程及费用
  • 网站备案在哪里找惠州宣传片制作公司
  • 毕业答辩为什么做网站做网站最好用的软件
  • 黄山市非遗网站策划书帝国做网站的步骤
  • 网站标题分隔符号央视网商城网站建设
  • 如何建立一个小程序的网站深圳平湖网站开发
  • 做ppt一般在什么网站好合肥网站建设博客
  • 公司建推广网站多少钱网站设计制作报价图片欣赏
  • php数据库的网站模板代理网络是什么意思
  • 网站建设可视化避免视觉效果混淆。
  • 设计做兼职的网站求推荐如何规划设计一个网站
  • thinkphp网站开发实例教程建设网站需要做的工作
  • 成都网站建设方案优化做网站后台系统的规范
  • 网站页面footer的copy网页制作专业名词
  • 网站查询系统怎么做idc机房托管费用
  • 建设网站美海房地产wordpress 面板
  • 前端做任务的网站深圳商标注册公司
  • 宿迁网站建设流程青岛网站搭建公司
  • 建设一个好的网站个性化wordpress
  • 演出公司网站建设企业资质查询
  • 哪里可以在百度做网站国内国际新闻最新消息10条
  • 知名企业网站分析 比较评估个体户网站建设
  • 德庆网站建设价格网站开发 自定义首页显示
  • 邯郸学校网站建设价格民营建筑网站
  • 宽甸县建设局网站常见的网站推广途径
  • 汽车服务网站建设方案本科自考难吗
  • 做网站网站要找谁中国十大门窗品牌排行榜前十名
  • 网站维护主要需要会什么新建网站的评估