当前位置: 首页 > article >正文

Cocos XR的WebBox实现流程

1. 正常3D场景下的webview

1.1 组件角色

Cocos Creator正常3D场景下只有在UI组件才支持webview,即作为下图中的UI Nodes(Canvas Node)的子节点,和3D组件是隔离开的,不能显示在3D空间中,UI Nodes(Canvas Node)是一个平面内的矩形形状的节点,其中的子节点全部显示在父节点内部,可以看作最终会覆盖在屏幕上的2D控件,这个webview会显示在其他所有组件的上方,不遵循Cocos的层级关系(直接在surfaceview上层显示了Android的webview控件)
[图片]

1.2 TS调用安卓的webview控件接口:

ts实现接口跟web平台下一致:engine\cocos\web-view\web-view.ts
Jsb 自动绑定的接口:工程目录\build\android\proj\build\Debug\xxxxxxx\arm64-v8a\generated\cocos\bindings\auto\jsb_webview_auto.cpp/h
c++ 封装接口:engine\native\cocos\ui\webview\WebView.h
jni接口:engine\native\cocos\ui\webview\WebViewImpl-android.cpp
控件实现:engine\native\cocos\platform\android\java\src\com\cocos\lib\CocosWebView.java

2. XR场景下的webview

2.1 工程入口

Android平台下的XR模式下的webview是通过插件的方式支持的,该插件的c++代码未开源,以静态库形式提供,创建工程后,插件会被下载到工程目录下:ProjectPath\extensions\xr-plugin,
webview入口:ProjectPath\extensions\xr-plugin\assets\xr\component\webview\xr-webview.ts
Android底层实现是:engine\native\cocos\platform\android\libcocosxr\src\com\cocos\lib\xr\下的CocosXRWebViewContainer.java和 CocosXRWebViewManager.java类:

2.2 流程图:

有空补


http://www.kler.cn/a/227845.html

相关文章:

  • SpringBoot+Vue的理解(含axios/ajax)-前后端交互前端篇
  • socket实现HTTP请求,参考HttpURLConnection源码解析
  • Golang笔记——常用库context和runtime
  • http3网站的设置(AI不会配,得人工配)
  • 動態住宅IP提升網站訪問成功率
  • 【教学类-89-01】20250127新年篇01—— 蛇年红包(WORD模版)
  • 【Java万花筒】编织数字音符:Java多媒体魔法
  • windows pm2 执行 npm脚本或执行yarn脚本遇到的问题及解决方案
  • 路由器、路由器的构成、交换结构
  • 以小猪o2o生活通v17.1为例简要分析SWOOLE加密破解,swoole_loader加密破解swoole加密逆向后的代码修复流程(个人见解高手掠过)
  • 关于source批量处理sql命令建立数据库后发现中文乱码问题解决方案(Mysql)
  • MySQL深入——17(主备延迟)
  • 基于springboot就业信息管理系统源码和论文
  • 关于Django部署
  • 什么是实时数据库
  • Kotlin 协程:深入理解 ‘async { }‘
  • 【自动化测试】----Java的单元测试工具Junit5
  • 计算机网络实验四
  • c++入门学习⑤——对象模型和this指针
  • 重磅发布!使用 LangGraph 创建一个超级AI Agent
  • Compose中的重组、state、remember
  • CSS-IN-JS
  • ObjectMapper之处理JSON序列化和反序列化
  • java设计模式:观察者模式
  • 自动化报告pptx-python|如何将pandas的表格写入PPTX(二)
  • Git--07--GitExtension