APP联合Unity3D实战

💡 原文中文,约24400字,阅读约需59分钟。
📝

内容提要

该文章介绍了在Unity中与iOS和Android进行代码交互的流程。首先,下载Unity无黑Logo版别和相关东西。然后,通过UnitySendMessage方法实现iOS和Unity之间的代码交互。接下来,介绍了在Unity工程中的代码实现和在原生Xcode工程中的代码实现。最后,讲解了在iOS和Android中集成Unity工程的步骤。

🎯

关键要点

  • 下载Unity无黑Logo版别和相关东西,确保各端一致。
  • 使用UnitySendMessage方法实现iOS与Unity之间的代码交互。
  • 在Unity工程中实现代码,使用DllImport导入外部函数。
  • 在原生Xcode工程中实现对应的Objective-C代码。
  • 通过C#同名方法反射实现与原生代码的交互。
  • 在Unity工程中设置NativeBridge,分别实现iOS和Android的交互方法。
  • 在iOS中通过NativeCallProxy.h和NativeCallProxy.mm实现原生方法的调用。
  • 打包Unity工程并集成到另一个iOS工程中,手动或通过脚本修正配置。
  • 在Android中下载和解压项目,生成Android渠道的Gradle项目。
  • 将Unity Library模块增加到原生Android项目中,修正Gradle文件并同步。
  • 确保应用程序只显示一个启动图标,去掉多余的入口定义。

延伸问答

如何在Unity中与iOS进行代码交互?

可以使用UnitySendMessage方法实现iOS与Unity之间的代码交互,但需注意该方法的类必须挂载在一个game object上。

在Unity中如何实现与原生代码的交互?

通过C#同名方法反射和DllImport导入外部函数来实现与原生代码的交互。

如何将Unity工程集成到iOS项目中?

可以手动将Unity打包文件移动到iOS项目的unity3d目录下,并修正相关配置。

在Android中如何集成Unity项目?

需要下载和解压项目,生成Android渠道的Gradle项目,并将Unity Library模块增加到原生Android项目中。

使用UnitySendMessage方法时需要注意什么?

需要确保发送消息的类挂载在一个game object上,并注意线程问题,可能需要告知Unity主线程执行回调。

如何确保应用程序只显示一个启动图标?

需要去掉unityLibrary的AndroidManifest.xml中多余的入口定义,只保留原生Android应用所需的部分。

🏷️

标签

➡️

继续阅读