unity导出成安卓工程,集成到安卓显示

unity调用安卓方法:https://blog.csdn.net/AllBluefm/article/details/155520167?sharetype=blogdetail&sharerId=155520167&sharerefer=PC&sharesource=AllBluefm&spm=1011.2480.3001.8118

1、unity导出成安卓工程,导完是文件夹形式

2、用Android Studio打开导出的unity工程,按照步骤把tuanjieLibrary打成aar包,期间可能需要配置gradle的版本

3、将aar放入到安卓工程中,引用这个aar

4、采用fragment的方式,将unity引入,此时就能看到unity的内容了

复制代码
package com.honda.dic.settings.ui.fragment;

import android.graphics.Color;
import android.graphics.PixelFormat;
import android.graphics.drawable.ColorDrawable;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.SurfaceView;
import android.view.View;
import android.view.ViewGroup;
import android.view.Window;
import android.view.WindowManager;
import android.widget.FrameLayout;

import androidx.fragment.app.Fragment;

import com.unity3d.player.UnityPlayer;

public class UnityContentFragment extends Fragment {

    public static UnityPlayer mUnityPlayer;
    View view;
    public UnityContentFragment() {
        // 必须有一个无参数构造函数
    }
    @Override
    public void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        mUnityPlayer = new UnityPlayer(requireActivity());
    }


    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
        view = mUnityPlayer.getView();
        if(view.getParent()!=null)
        {
            ((ViewGroup)view.getParent()).removeAllViews();
        }
        view.getViewTreeObserver().addOnWindowFocusChangeListener((has)->mUnityPlayer.windowFocusChanged(has));

        return view;
    }

    @Override
    public void onResume() {
        super.onResume();
        mUnityPlayer.resume();
    }

    @Override
    public void onPause() {
        super.onPause();
        mUnityPlayer.pause();
    }

    @Override
    public void onDestroy() {
        super.onDestroy();
        mUnityPlayer.quit();
    }
}
相关推荐
魔士于安16 分钟前
红色文化馆技术文档
前端·unity·游戏引擎·贴图·模型
Java面试题总结18 分钟前
MySQL EXISTS 详解:存在性判断、NOT EXISTS 与实战示例
android·数据库·mysql
LONGZETECH34 分钟前
Unity 3D工业级教育软件实战:200+无人机装调任务的碰撞检测与交互落地
3d·unity·架构·游戏引擎·无人机·交互·cocos2d
淡海水40 分钟前
08-认知篇-对比-injectfix深度解析
unity·c#·热更新·clr·hybrid·injectfix
迪普阳光开朗很健康40 分钟前
BepInEx 插件开发文档中文翻译 - 项目分享
unity·bepinex
_李小白1 小时前
【android opencv学习笔记】Day 30: 滤波算法之拉普拉斯算子
android·opencv·学习
NiceCloud喜云9 小时前
Opus 4.8 的 Effort Control 怎么选:Low 到 Max 五档策略
android·java·大数据·前端·c++·python·spring
元气少女小圆丶13 小时前
SenseGlove Nova 2+Unity开发笔记1
笔记·学习·unity
日光明媚13 小时前
一步生成视频!One-Forcing:DMD + 零成本 GAN,训练 200 步超越多步 SOTA
android·开发语言·kotlin
mxwin13 小时前
Unity URP下新技术MSSPT 取代SSR和光线追踪
unity·游戏引擎·shader