首页 > 其他分享 >UnityGLTF插件加载模型时,OcclusionTexture贴图显示错误的问题处理

UnityGLTF插件加载模型时,OcclusionTexture贴图显示错误的问题处理

时间:2023-09-27 11:12:43浏览次数:47  
标签:贴图 mapper 插件 OcclusionTexture UnityGLTF assetCache

工作中遇到使用UnityGLTF插件加载GLTF模型时,贴图显示错误的问题,如下图

 

检查材质时发现,把OcclusionTexture去掉就看起来正常了

 

 看来是插件对OcclusionTexture的解析出了问题,

 那么我们来看一下,GLTF中对OcclusionTexture的描述片段,是这样:

"name": "5木质长廊1.bmp",
"occlusionTexture": {
    "index": 0,
    "texCoord": 1
}    

可见occlusionTexture用到了UV1(第二套UV)但是插件源代码中并没有相关的处理,所以需要修改,并且

要把贴图赋给 _DetailAlbedoMap
而不是 OcclusionTexture
这一点是从和这个GLTF模型同源的已经打成UnityBundle的模型中得到的信息,如下图

 

大概知道要改什么了,下面就是看代码进行修改,

插件源代码GLTFSceneImporter.cs中,对OcclusionTexture的处理是这样的:

mapper.OcclusionTexture = _assetCache.TextureCache[textureId.Id].Texture;

优化后变成这样:

if (def.OcclusionTexture.TexCoord == 1)
{
  mapper.Material.SetTexture("_DetailAlbedoMap", _assetCache.TextureCache[textureId.Id].Texture);
  mapper.Material.SetFloat("_UVSec", 1);
}
else
{
  mapper.OcclusionTexture = _assetCache.TextureCache[textureId.Id].Texture;
}

最后的效果是这样的:

 

标签:贴图,mapper,插件,OcclusionTexture,UnityGLTF,assetCache
From: https://www.cnblogs.com/zerozabuu/p/17732202.html

相关文章

  • Idea配置热部署插件Jrebel
    Idea配置热部署插件Jrebel先从pulgins下载插件jrebelidea内配置jrebel百度下载reverseproxy_windows_amd64.exe,下载后直接打开。会显示一个终端控制台。之后不用管挂那做下一步(这个界面从Idea的help最下面有JRebel-Activation打开)teamURL第一行http://localhost:8888/......
  • neovim入门指南(二):常用插件
    文章首发https://youngxhui.top常用插件配置经过前面章节的介绍,当前的neovim已经可以开始基本的使用了。下面会推荐一下常见的插件,让我们快速的开始。......
  • 使用vite插件进行低代码平台自定义开发(手机版自定义范例)
    前言Youtube上的前端网红「Theo」在React文档仓库发起了一个Pullrequest,号召React文档不要再默认推荐CRA(createreactapp),而是应该将Vite作为构建应用的首选。vite的影响力已经从vue蔓延到了react,可见在前端工程化开发中,它已经越来越流行,是时候该从webpack切换到vite了。为什么......
  • 使用vite插件进行低代码平台自定义开发(手机版自定义范例)
    前言Youtube上的前端网红「Theo」在React文档仓库发起了一个Pullrequest,号召React文档不要再默认推荐CRA(createreactapp),而是应该将Vite作为构建应用的首选。vite的影响力已经从vue蔓延到了react,可见在前端工程化开发中,它已经越来越流行,是时候该从webpack切换到vite了。为......
  • 【遥遥领先】Eolink IDEA 插件:零代码入侵,自动生成接口
    省流版:Eolink有IDEA插件吗?有,而且遥遥领先!我们在一年半之前就发布了,而且功能更丰富!IDEA插件市场搜索“EolinkApikit”即可安装使用。......
  • VSCode 安装插件 Unity 后,一直弹 The .NET Core SDK cannot be located
    如题。明明已经安装了.Net7.0。并且添加到了PATH中。(也就是在终端/CMD可以通过dotnet命令访问到。)但Vscode还是一直弹The.NETCoreSDKcannotbelocated。然后开始下载.Net7.0。解决方案写在了.NETRuntimeInstallTool的细节描述里。按照描述去为对应的......
  • Chrome插件manifest.json文件详解
    {//扩展名称"name":"MyExtension",//版本。由1到4个整数构成。多个整数间用"."隔开"version":"1.0",//manifest文件版本号。Chrome18开始必须为2"manifest_version":2,//描述。132个字符以内"......
  • 【遥遥领先】Eolink IDEA 插件:零代码入侵,自动生成接口
    省流版:Eolink有IDEA插件吗?有,而且遥遥领先!我们在一年半之前就发布了,而且功能更丰富!IDEA插件市场搜索“EolinkApikit”即可安装使用。......
  • 3D力导向树插件 3d-force-graph
    3d-force-graph是什么?一个Web组件,使用强制导向的迭代布局来表示3维空间中的图形数据结构。使用ThreeJS /WebGL进行3D渲染,使用d3-force-3d或ngraph作为底层物理引擎。 3d-force-graph可以做些什么?参考以下效果:哔哩哔哩:https://www.bilibili.com/video/BV1WS4y1s7st......
  • 小星星直播去重播放器更新至V1.14版本,新增片头设置和视频倍速播放设置,搭配本身的视频
    小星星去重播放器更新V1.14版本,增加倍速播放,片头10秒静音以及片头60秒0.8倍速慢放,优化左箭头重新播放,优化鼠标隐藏,让你的直播间更稳定,下面是小星星的详细介绍!1、视频设置,在播放列表里面打开预览窗口(注意预览窗口只支持MP4格式的视频,其余格式需要设置完成以后打开视频播放窗口)(1)......