Page 1 of 1

在Android平台不生成任何带LogicPlayer的Prefab

Posted: 2024/12/16 09:26
by kvfreedom
Logic Toolkit Version 1.6.4
Unity Version 6000.0.31f1

在编辑器中运行正常,Android平台构建运行大概率出现不生成任何带LogicPlayer的Prefab,出现此情况时没有报错。删除手机游戏进程,重新进入游戏依然出现此情况,Addressables.LoadAssetAsync增加WaitForCompletion依然出现此情况,将Object.InstantiateAsync改为Object.Instantiate依然出现此情况,重启Unity依然出现此情况。目前发现的规律是,当修改代码后直接构建运行容易出现此情况,在编辑器中运行一次再构建运行就能正常生成。

Re: 在Android平台不生成任何带LogicPlayer的Prefab

Posted: 2024/12/16 10:16
by caitsithware
感谢您的报告。

然而,仅凭这些信息,Unity 就可能存在问题。
这是对其他报告的重复,但首先,请提前检查是否是使用最低配置的 LogicToolkit 问题,如果是 LogicToolkit 问题,请写出重现它的详细信息和步骤。

Re: 在Android平台不生成任何带LogicPlayer的Prefab

Posted: 2024/12/16 11:02
by caitsithware
我首先在Unity 6000.0.30f1(尚未安装31f1)上检查了以下步骤,但无法重现。
  • 在层次结构中创建一个Cube
  • 为 Cube 对象添加了 Logic Player 组件
  • 按逻辑播放器组件中Asset的创建按钮,创建一个具有适当名称的LogicAsset。
  • 使用LogicAsset中的 Tween Transform.position 创建一个重复移动的图形。
  • 将Cube对象设为Prefab
  • 删除Hierarchy中的Cube对象
  • 创建下面的脚本

    Code: Select all

    using UnityEngine;
    
    public class InstantiatePrefab : MonoBehaviour
    {
        public GameObject Prefab;
    
        void Start()
        {
            Instantiate(Prefab);
        }
    }
  • 使用 Create Empty 在 Hierarchy 中创建一个空对象
  • 将上面的脚本添加到对象中
  • 在Prefab字段中设置Cube预制件
  • 保存Scene
  • 添加目标Scene到Scene List
  • Android 平台上的Build And Run
  • 操作确认
  • 重新启动Unity
  • Android 平台上的Build And Run
  • 操作确认
两次都显示了Cube,我们确认了Tween Transform.position的操作。

Re: 在Android平台不生成任何带LogicPlayer的Prefab

Posted: 2024/12/16 11:16
by caitsithware
LogicToolkit 不会对预制件、构建处理或特定平台上的运行时执行执行任何特殊处理,因此我不知道导致此问题的原因。
如果您在使用 Addressables 时遇到问题,则可能是 Addressables 存在问题。
我无法提供有关如何使用 Unity 或 Addressables 或任何问题的任何支持。
再次强调,请在报告之前隔离是否是 LogicToolkit 问题。

Re: 在Android平台不生成任何带LogicPlayer的Prefab

Posted: 2024/12/16 12:39
by kvfreedom
此问题在1.6.4之前的版本均没有出现过,1.6.3搭配Unity 6000.0.30f1没有此问题,升级1.6.4搭配Unity 6000.0.30f1首次发现了此问题,我怀疑是1.6.4的改动引发了此问题,我会尝试在最小可用项目中进行实验。

Re: 在Android平台不生成任何带LogicPlayer的Prefab

Posted: 2024/12/16 13:05
by caitsithware
kvfreedom wrote: 2024/12/16 12:39 我会尝试在最小可用项目中进行实验。
这是最重要的报告内容。
如果不共享重现步骤,则不清楚是否可以重现完全相同的问题。
为了保证分享和问题解决的顺利进行,请您提前帮助我们明确使用最低配置重现问题的步骤。

Re: 在Android平台不生成任何带LogicPlayer的Prefab

Posted: 2024/12/16 14:12
by caitsithware
如果编辑器上未重现问题,您是否通过将 Addressable Groups 的 Play Mode Script 设置为 Use Existing Build 进行检查?
如果设置为 Use Asset Database ,在编辑器中播放将直接从Assets加载资源。
必须设置为 Use Existing Build 才能在编辑器中查看从 AssetBundle 的加载。

这是 Addressables 的一个功能,因此它并不是 LogicToolkit 论坛的真正主题。
请阅读 Addressables 手册了解详细信息。

Re: 在Android平台不生成任何带LogicPlayer的Prefab

Posted: 2024/12/16 15:46
by caitsithware
经过调查,Managed Stripping 似乎正在剥离仅在 Addressables 中使用的代码。
尝试以下方法。
  • 打开 Player Settings
  • 展开 Other Settings
  • 关闭 Optimization 中的 Strip Engine Code
  • 将 Managed Stripping Level 更改为 Minimal
Addressables 能够自动创建 link.xml,因此您使用的类型受托管剥离的影响可能是 Addressables 的根本问题。

该问题也可能与此问题不同,因为我们不知道如何重现所报告的问题。
请检查一次。

Re: 在Android平台不生成任何带LogicPlayer的Prefab

Posted: 2024/12/17 02:31
by kvfreedom
我将Managed Stripping Level 从 Low 更改为 Minimal,多次实验未出现不生成的情况,此问题已解决。

Re: 在Android平台不生成任何带LogicPlayer的Prefab

Posted: 2024/12/17 03:07
by caitsithware
感谢您的确认。
我将关闭它作为解决。