Android内嵌Unity开发简单的3D动态模型

Unity端就不仔细说了,下面主要讲Unity打包出来在Android studio后的操作.

DEMO地址:Stringf/UnityAndroid3DModel (github.com)

 

 

 

Unity打包Android项目:

  • unityLibrary包build.gradle里dependencies "implementation" 改为"api"

  • 创建一个activity去继承UnityPlayerActivity类在安卓APP中显示Unity场景。

    简单通信:

    Android调用Unity

    //向unity发消息
    UnityPlayer.UnitySendMessage(
      "Main Camera", //gameobject的名字
                                "ChangeColor", //调用方法的名字
                                ""  //参数智能传字符串,没有参数则传空字符串
    );

     

    Unity调用Android

    //通过该API来实例化java代码中对应的类
    AndroidJavaObject jc = new AndroidJavaObject("com.xxx.xxx.UnityPlayer");
    jo.Call("Test");//调用void Test()方法
    jo.Call("Text1", msg);//调用string Test1(string str)方法
    jo.Call("Text2", 1, 2);//调用int Test1(int x, int y)方法

    结合C++调用

    把Android端C++代码作为一个中转站,实现两边的数据引用于共享。

     

    Android端C++方法:

    //Unity中C#代码调用此方法
    int addInt(int a, int b)
    {
       return a + b;
    }

    在unity脚本中:

    //引用C 、C++中的方法 
    [DllImport("cppso")]
    private static extern int addInt(int a, int b);

    void Start()
    {    //调用方法中相加函数  
       i = addInt(1, 2);
    }

    DllImport("cppso") 内写的是在 AS 的 CmakeList.txt 里给so的命名。

  •  参考资料:https://www.cnblogs.com/zhxmdefj/p/13273560.html

 

 

posted @   Stringf  阅读(256)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek “源神”启动!「GitHub 热点速览」
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 我与微信审核的“相爱相杀”看个人小程序副业
· C# 集成 DeepSeek 模型实现 AI 私有化(本地部署与 API 调用教程)
· spring官宣接入deepseek,真的太香了~
点击右上角即可分享
微信分享提示