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.hqwc.cn/news/448684.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

计算机视觉-PCV包、Vlfeat库、Graphviz库的下载安装配置及问题解决(使用anaconda3 python 3.8.5)

目录 一、PCV包配置 二、Vlfeat配置 三、在PCV包的sift.py文件中对路径进行修改 四、以上步骤所需注意的错误 五、Graphviz配置 一、PCV包配置 1.下载PCV包,点开网址直接下载安装包(不用解压),下载之后将安装包放在任意目录位置https://codeload.github.com/Li-Shu14…

【Unity3D小技巧】Unity3D中UI控制解决方案

推荐阅读 CSDN主页GitHub开源地址Unity3D插件分享简书地址我的个人博客 大家好,我是佛系工程师☆恬静的小魔龙☆,不定时更新Unity开发技巧,觉得有用记得一键三连哦。 一、前言 在开发中总是会控制UI界面,如何优雅的控制UI界面是…

Unity_ShaderGraph示例项目启动

Unity_ShaderGraph示例项目启动 大前提不变:URP模板,Unity2023.1.19使用 Shader Graph - Unity 手册Shader Graph 是一个工具,能够让您直观地构建着色器。您可以在图形框架中创建并连接节点,而不必手写代码。Shader Graph 提供了能反映所作更改的即时反馈,对于不熟悉着色…

RDBMS-MySQL高级

数据操作语句(DML)多表/关联查询Mysql中的函数事务执行流程数据库的备份与还原数据库表设计三范式 一、数据操作语句(DML) 插入数据 语法: 1.1插入(insert [into])或添加一条数据 -- 指定列…

DPVS 多活部署架构部署

一、目标 利用DPVS部署一个基于OSPF/ECMP的提供HTTP服务的多活高可用的测试环境。 本次部署仅用于验证功能,不提供性能验证。 配置两台DPVS组成集群、两台REAL SERVER提供实际HTTP服务。 注:在虚拟环境里面,通过在一台虚拟服务器上面安装FR…

Opencv(C++)学习 之RV1126平台的OPENCV交叉编译

本文特点:网上已经有了很多opencv移植RV1106的文章,本文主要记录基于cmake-gui编译,碰到的报错,及解决报错问题的方法,同时简单总结一些配置项相关的知识。 一、环境: ubuntu18 x64 RV1126交叉编译工具链 …

wifi配网(esp8266和esp32)-http get和post方式

wifi配网(esp8266和esp32)-http get和post方式 通过http get和post方式来给esp芯片配网 步骤: 开机,指示灯亮起后(需要灯闪烁3下后),需在3s内(超过3s则会正常启动),按一下按键(注:切…

C++学习Day01之namespace命名空间

目录 一、程序及输出1.1 命名空间用途: 解决名称冲突1.2 命名空间内容1.3 命名空间必须要声明在全局作用域下1.4 命名空间可以嵌套命名空间1.5 命名空间开放,可以随时给命名空间添加新的成员1.6 命名空间可以是匿名的1.7 命名空间可以起别名 二、分析与总…

Unity 图片不改变比例适配屏幕

Unity 图片不改变比例适配屏幕 前言项目场景布置代码编写添加并设置脚本效果 前言 遇到一个要让图片适应相机大小,填满屏幕,但不改变图片比例的需求,记录一下。 项目 场景布置 代码编写 创建AdaptiveImageBackground脚本 using System.C…

九、Qt图表使用

一、QCharts概述 Qt图表提供了:折线图、样条曲线图、面积图、散点图、条形图、饼图、方块胡须图、蜡烛图、极坐标图。1、QChart介绍 Qt Charts基于Qt的QGraphics View架构,其核心组件是QChartView和QChartQChartView是显示图标的视图,基类为…

JSP和JSTL板块:第三节 JSP四大域对象 来自【汤米尼克的JAVAEE全套教程专栏】

JSP和JSTL板块:第三节 JSP四大域对象 一、page范围二、request范围三、session范围四、application范围 在服务器和客户端之间、各个网页之间、哪怕同一个网页之内,总是需要传递各种参数值,这时JSP的内置对象就是传递这些参数的载具。内置对象…

时间序列预测——GRU模型

时间序列预测——GRU模型 在深度学习领域,循环神经网络(RNN)是处理时间序列数据的一种常见选择。上期已介绍了LSTM的单步和多步预测。本文将深入介绍一种LSTM变体——门控循环单元(GRU)模型,包括其理论基础…