首页 > 其他分享 >Android内嵌Unity开发简单的3D动态模型

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

时间:2022-10-28 14:35:54浏览次数:90  
标签:调用 int C++ Unity Android 方法 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

 

 

标签:调用,int,C++,Unity,Android,方法,3D
From: https://www.cnblogs.com/Stringf/p/16835952.html

相关文章

  • DES、3DES、AES、RSA、MD5、sha1 加密算法总结
    DES、3DES、AES、RSA、MD5、sha1加密算法总结一、简介DES:全称为DataEncryptionStandard,即数据加密标准,是一种使用密钥加密的块算法;3DES:(即T......
  • Osg-3D文件全解
    3dm【文件类型描述】Rhino3DModel【文件类型开发人员】Redway3dandothers【说明】3dm是二维和三维图形保存后存在的一种文件格式,大多数3DM文件被视为3DImageFiles......
  • Vue(V 3.2.37)使用Three.js(V 0.145.0)加载3D模型的详细步骤
    Vue(V3.2.37)使用Three.js(V0.145.0)加载3D模型的详细步骤1、安装three命令:pnpminstallthree引入three和加载器import*asTHREEfrom'three'import{OBJLoader......
  • 3.CF343D Water Tree 树剖+线段树区间覆盖
    3.CF343DWaterTree树剖+线段树区间覆盖线段树维护树上覆盖问题,树剖序列化维护序列覆盖。洛谷传送门:​​CF343DWaterTree-洛谷|计算机科学教育新生态(luogu.com.c......
  • CF1163D Mysterious Code ACA+DP
    将两个串插入AC自动机,AC自动机带点权,S串带权值1,T串带权值-1,对树在构建时求树上点权前缀和,然后设表示到的第个字符,在ACA上的第个节点时的答案,那么就有转移方程:#include<bits......
  • 【Termux】 Android 模拟终端组合键操作说明
    以下均来自谷歌翻译: 使用CLI终端需要使用Alt,Ctrl,Esc等键。Termux触摸键盘不包括一个。为此,Termux使用Volumedown按钮模拟Ctrl键。例如,Volumedown+L在触摸键盘上按下}会......
  • 在C语言中,%03d
    %03d用在printf或scanf函数中的格式符,用来以特定的格式输入和输出字符。%是格式符的开始。d表示有符号整数。3表示最小输出3位数字。0表示如果数字不足3位,在左边用......
  • 如何用webgl(three.js)搭建一个3D库房,3D仓库3D码头,3D集装箱,车辆定位,叉车定位可视
    序又是快两个月没写随笔了,长时间不总结项目,不锻炼文笔,一开篇,多少都会有些生疏,不知道如何开篇,如何写下去。有点江郎才尽,黔驴技穷的感觉。写随笔,通常三步走,第一步,......
  • Unity UGUI
    一个UI控件是由多个组件组成的,每一个组件都是一个类TEXT(文本控件)Font:字体可以更改显示的字体样式也可以导入外部字体样式FontStyle:字体风格Normal正常默认风格......
  • 如何添加网狐荣耀6801的3D桌子效果
    默认的桌子是平面图,头像也很丑,讲一下怎么改为3D桌子效果如下:  引入增加的代码和资源,要把头文件和cpp都添加到项目,然后资源要在版本RC里面引入,注意代码不能直接替换,需......