使用SBP打AssetBundle时脚本引用丢失

1)使用SBP打AssetBundle时脚本引用丢失
2)在UE 5.3中连接Power节点为何10的3次幂等于1009
3)如何在Widget中倾斜一张纹理贴图
4)如何在打开关卡蓝图时更改游戏模式


这是第401篇UWA技术知识分享的推送,精选了UWA社区的热门话题,涵盖了UWA问答、社区帖子等技术知识点,助力大家更全面地掌握和学习。

AssetBundle

Q:最近项目实验升级ScriptableBuildPipeline打包AssetBundle(之前使用的是Built-in构建管线)。使用的Unity为2022.3,SBP版本为2.1.4。

结果发现打出的UI AssetBundle中,部分NGUI的脚本丢失引用了,丢的最多的是UIButton。但也不是所有UI都会丢失,有的就正常,Built-in管线打包也正常。

真机上加载资源的时候会报错:
Error: A scripted object (script unknown or not yet loaded) has a different serialization layout when loading. (Read 32 bytes but expected 8136 bytes)

Did you #ifdef UNITY_EDITOR a section of your serialized properties in any of your scripts?

UnityEngine.AssetBundle:LoadAsset(String)

使用AssetStudio解包AssetBundle,发现脚本的m_PathId为0。这可能是哪儿的问题?

A:后续:
针对出问题的文件单独导出独立工程Demo去调试。发现出问题的情况是AssetBundle的引用也包含了相同的脚本且这个引用也是打AssetBundle的,应该是递归引用的时候出问题了。

解决方案:

  1. 设置SBP中BuildParameters的NonRecursiveDependencies为false。
    修改方法:
    a. 将Library\PackageCache夹子下SBP的组件移动到Packages下变为本地组件,即可编辑代码。
    b. 使用SBP非兼容模式接口构建,new出BuildParameters,然后可修改此属性。
  1. 将脚本信息都写入到一个独立的Bundle中,这样所有Bundle都引用它即可,这种方式需要启用CreateMonoScriptBundle。
    修改方法:
    在SBP组件中的DefaultBuildTasks脚本Create接口内
    return AssetBundleCompatible(false, true);

感谢题主mr.Tian@UWA问答社区提供了回答


Script

Q:在UE 5.3中,我连接Power节点计算10的3次幂,得到的结果是1009,这是为什么呢?

A:幂函数计算非常慢,因此会使用近似值来加快计算速度,所以可能会出现这种情况。可以改用Multiply多次相乘计算结果,或者用Material Expression Custon输入公式进行计算,手动造一个计算节点。

针对以上问题,有经验的朋友欢迎转至社区交流:
UWA问答 | 游戏开发者互动问答社区 | 侑虎科技


UI

Q:我想在Widget中倾斜一张纹理,就像Photoshop中的效果那样,有什么方法可以做到吗?

A:可以使用材质蓝图实现,基本原理是调整UV来实现倾斜的效果。也可以直接下载UE官方项目UI Material Lab,有一个Skew的倾斜材质,核心的实现方式可以重点参考其中名为MF_UI_Skew的Material Function。

针对以上问题,有经验的朋友欢迎转至社区交流:
UWA问答 | 游戏开发者互动问答社区 | 侑虎科技


Blueprint

Q:当角色触发On Component Begin Overlap(StaticMesh)时我调用Open Level(by Name)来打开新场景,同时我还想改变游戏模式,例如从BP_ThirdPersonGameMode类型的第三人称视角变为BP_FirstPersonGameMode的第一人称射击游戏,请问该怎么做呢?

A:由于每个关卡都可以在World Setting中设置单独的Game Mode,因此只要设置好在切换场景时切换游戏模式也是很自然的事情。另外可以用Trigger Box直接在关卡蓝图获得OnActorBeginOverlap,比Static Mesh使用更方便。

针对以上问题,有经验的朋友欢迎转至社区交流:
UWA问答 | 游戏开发者互动问答社区 | 侑虎科技

封面图来源于网络


今天的分享就到这里。生有涯而知无涯,在漫漫的开发周期中,我们遇到的问题只是冰山一角,UWA社区愿伴你同行,一起探索分享。欢迎更多的开发者加入UWA社区。

UWA官网:www.uwa4d.com
UWA社区:community.uwa4d.com

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/54529.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

828华为云征文 | 将Vue项目部署到Flexus云服务器X实例并实现公网访问

一、Flexus云服务器X实例简介 1.1 概述 华为云Flexus X实例是华为云推出的一款创新云服务器产品,它主要面向中小企业和开发者,旨在解决传统云服务中的痛点,提供更加灵活、高效的云服务体验。 华为深刻洞察了中小企业和开发者在云服务应用中遇…

深度学习后门攻击分析与实现(一)

在计算机安全中,后门攻击是一种恶意软件攻击方式,攻击者通过在系统、应用程序或设备中植入未经授权的访问点,从而绕过正常的身份验证机制,获得对系统的隐蔽访问权限。这种"后门"允许攻击者在不被检测的情况下进入系统,执行各种恶意活动。 后门可以分为几种…

VOC2007数据集

目标检测入门code 文件目录 下载数据集——在官网下载VOC2007数据集 下载训练数据集 TRAIN data 下载测试数据集 TEST data 解压数据集 解压——训练数据集,在服务器上,目录为VOCdevkit 部分文件目录 全部文件总目录 解压——测试数据集 (…

快速搭建Kubernetes集群

快速搭建Kubernetes集群 1 MacOS 1.1 下载 从 docker 下载 docker-desktop (opens new window),并完成安装 1.2 启用 k8s 集群 启动 docker-desktop,打开preference 面板 切换到 Kubernetes 标签页,并勾选启动 Enable Kubernetes,…

Django 数据库配置以及字段设置详解

配置PostGre 要在 Django 中配置连接 PostgreSQL 数据库,并创建一个包含“使用人”和“车牌号”等字段的 Car 表 1. 配置 PostgreSQL 数据库连接 首先,在 Django 项目的 settings.py 中配置 PostgreSQL 连接。 修改 settings.py 文件: …

大模型深入行业,正从“星星之火”走向“燎原之势”

2024年,当越来越多的企业从赶大模型的潮流与炫大模型的参数规模开始转移到行业落地时,华为携生态伙伴用大模型深耕行业的成果俨然遍地开花。 在9月19日华为全联接大会2024大会上同期举办的华为云AI用户峰会上,华为云为28个创新项目颁发了“A…

【计算机组成原理】主存储器深度解析

📢博客主页:https://blog.csdn.net/2301_779549673 📢欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正! 📢本文由 JohnKi 原创,首发于 CSDN🙉 📢未来很长&#…

VulnHub-Bilu_b0x靶机笔记

Bilu_b0x 靶机 概述 Vulnhub 的一个靶机,包含了 sql 注入,文件包含,代码审计,内核提权。整体也是比较简单的内容,和大家一起学习 Billu_b0x.zip 靶机地址: https://pan.baidu.com/s/1VWazR7tpm2xJZIGUS…

滑动窗口(6)_找到字符串中所有字母异位词

个人主页:C忠实粉丝 欢迎 点赞👍 收藏✨ 留言✉ 加关注💓本文由 C忠实粉丝 原创 滑动窗口(6)_找到字符串中所有字母异位词 收录于专栏【经典算法练习】 本专栏旨在分享学习算法的一点学习笔记,欢迎大家在评论区交流讨论&#x1f4…

基于JAVA+SpringBoot+Vue的线上辅导班系统的开发与设计

基于JAVASpringBootVue的线上辅导班系统的开发与设计 前言 ✌全网粉丝20W,csdn特邀作者、博客专家、CSDN[新星计划]导师、java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末附源码下载链接&#…

Java 微服务框架 HP-SOA v1.1.4

HP-SOA 功能完备,简单易用,高度可扩展的Java微服务框架。 项目主页 : https://www.oschina.net/p/hp-soa下载地址 : https://github.com/ldcsaa/hp-soa开发文档 : https://gitee.com/ldcsaa/hp-soa/blob/master/README.mdQQ Group: 44636872, 66390394…

【C++算法】分治——快排

颜色分类 题目链接 颜色分类https://leetcode.cn/problems/sort-colors/description/ 算法原理 代码步骤 class Solution { public:void sortColors(vector<int>& nums) {int n nums.size();int i 0, left -1, right n;while(i < right){if(nums[i] 0) s…

Maven笔记(一):基础使用【记录】

Maven笔记&#xff08;一&#xff09;-基础使用 Maven是专门用于管理和构建Java项目的工具&#xff0c;它的主要功能有&#xff1a; 提供了一套标准化的项目结构 Maven提供了一套标准化的项目结构&#xff0c;所有IDE(eclipse、myeclipse、IntelliJ IDEA 等 项目开发工具) 使…

Linux通过yum安装Docker

目录 一、安装环境 1.1. 旧的docker包卸载 1.2. 安装常规环境包 1.3. 设置存储库 二、安装Docker社区版 三、解决拉取镜像失败 3.1. 创建文件目录/etc/docker 3.2. 写入镜像配置 https://docs.docker.com/engine/install/centos/ 检测操作系统版本&#xff0c;我操作的…

openFrameworks_如何使用ofxXmlSettings和ofxGui来创建识别界面

效果图&#xff1a; 代码及详解 1.添加两个插件的头文件: #include "ofxGui.h" #include "ofxXmlSettings/src/ofxXmlSettings.h" 2.添加GUI部分&#xff0c;然后在.h声明右边的openframeworks的UI部分&#xff0c;包括面板ofxPanel&#xff0c;按钮ofx…

深入理解 JavaScript 三大作用域:全局作用域、函数作用域、块级作用域

一. 作用域 对于多数编程语言&#xff0c;最基本的功能就是能够存储变量当中的值、并且允许我们对这个变量的值进行访问和修改。那么有了变量之后&#xff0c;应该把它放在哪里、程序如何找到它们&#xff1f;是否需要提前约定好一套存储变量、访问变量的规则&#xff1f;答案…

深入探究 Flask 的应用和请求上下文

目标 读完本文后&#xff0c;您应该能够解释&#xff1a; 什么是上下文哪些数据同时存储在应用程序和请求上下文中在 Flask 中处理请求时&#xff0c;处理应用程序和请求上下文所需的步骤如何使用应用程序和请求上下文的代理如何在视图函数中使用current_app和代理request什么…

并发编程多线程

1.线程和进程的区别&#xff1f; 进程是正在运行程序的实例&#xff0c;进程中包含了线程&#xff0c;每个线程执行不同的任务不同的进程使用不同的内存空间&#xff0c;在当前进程下的所有线程可以共享内存空间线程更轻量&#xff0c;线程上下文切换成本一般上要比进程上下文…

如何用3个月零基础入门网络安全?_网络安全零基础怎么学习

前 言 写这篇教程的初衷是很多朋友都想了解如何入门/转行网络安全&#xff0c;实现自己的“黑客梦”。文章的宗旨是&#xff1a; 1.指出一些自学的误区 2.提供客观可行的学习表 3.推荐我认为适合小白学习的资源.大佬绕道哈&#xff01; →点击获取网络安全资料攻略← 一、自学…

某省公共资源交易中心爬虫逆向分析

目标网站 aHR0cHM6Ly95Z3AuZ2R6d2Z3Lmdvdi5jbi8jLzQ0L3NjenQteHEvP3VzZXJJZD02NzM4OTg2MzkyNjA3NzAzMDQmcm93SWQ9NTI1MDYyMDI2ODg0NzE2NTQ0JnRpbWU9MjAwOC0xMS0yNiZjZXJ0aWZpY2F0ZU5vPTkxNDQwOTA0NjgyNDI2MzU4QyZjZXJ0aWZpY2F0ZVR5cGU9Mjg 一、抓包分析 请求头参数加密 二、…