PuerTS和HybridCLR哪个更适合开发微信小游戏

news2024/11/26 18:51:25

1)PuerTS和HybridCLR哪个更适合开发微信小游戏
2)使用了Play Asset Delivery提交版本被Google报错
3)怎样设置normalize来改变摄像机位置
4)如何禁用增强型输入法中除某些输入操作之外的输入操作


这是第397篇UWA技术知识分享的推送,精选了UWA社区的热门话题,涵盖了UWA问答、社区帖子等技术知识点,助力大家更全面地掌握和学习。

Script

Q:PuerTS和HybridCLR哪个更适合开发微信小游戏?哪个更快?大家有做过相关的调研吗?

A1:之前测过,HybridCLR的解释器是在WASM上的,而JS用的是微信的。这俩算力估计差了50多倍。但现在市面好像没有好的Unity和TS的框架。

JS算力高,但和WASM交互比HybridCLR低几倍。

感谢子非鱼@UWA问答社区提供了回答

A2:可以参考以下文章,但综合来看应该还是HybridCLR更好一些:
https://zhuanlan.zhihu.com/p/646932579

感谢旋@UWA问答社区提供了回答


Platform

Q:Google Play选择了Target API Level 34之后,如果项目使用了Play Asset Delivery功能提交版本,会被Google报错(关于Foreground Services Permissions)。

前述截图中,点击Go to declaration后,展示一个空列表,并没有说明我要求了哪些Permission。

尝试解决,在AndroidManifest中加入如下内容(想办法去除权限),仍然不能解决问题:

<!-- Foreground Services permissions -->

<uses-permission android:name="android.permission.FOREGROUND_SERVICE" tools:node="remove" />
<uses-permission android:name="android.permission.FOREGROUND_SERVICE_DATA_SYNC" tools:node="remove" />

A:反编译了一下2.2.1版本的PAD的aar:

似乎是加上这两个就可以了:

在startForeground的地方调用的还是2个参数的版本。

感谢littlesome@UWA问答社区提供了回答


Rendering

Q:请问在Shader里面,调试了下xxx这个值,在改变摄像机位置的时候,这个xxx的值为什么始终不变?

float3 xxx = normalize(_WorldSpaceCameraPos.xyz);

但在Shader里面看参数_WorldSpaceCameraPos这个值是变了的。

尝试调试yyy值,在改变光的旋转的时候,是有变化的:

float3 yyy = normalize(_MainLightPosition.xyz);

是不是Shader里面normalize对位置不起作用?

我知道一个是具体位置,一个是方向,所以我对位置进行normalize处理,但发现并不生效。

以下这样我也测试过,但也不生效:

float3 xxx = normalize(_WorldSpaceCameraPos.xyz - half3(0,0,0));

请问这个要怎么设置呢?

A1:normalize是对方向敏感,对位置不敏感,你需要了解下矢量这一图形上的概念。

_MainLightPosition.xyz变量是位置,但如果是平行光,他其实是代表方向。你把相机的世界坐标位置如下设置z=100与z=-100,这样变化才能看到xxx改变。

简单解释就是CameraPos,同时也是相对于0点的方向,你如果远离0点的位置改动一点,方向等于没变,所以才让你要大改位置z变-z,这个变动要很大才明显,就和月亮每秒相对我们移动1000米,结果角度每秒几乎不变同理。

感谢偶尔不帅@UWA问答社区提供了回答

A2:你应该用_worldSpaceCameraPos.xyz - 顶点插值出来的世界坐标位置来算viewdirection。

感谢小波@UWA问答社区提供了回答

A3:你这不是图形问题,是算数问题。你把坐标打印出来,再把normalize后的坐标打印出来。你原来坐标数值很大,normalize之后缩放到长度一了。小幅度移动当然变化不大了。

你能用坐标减去half3(0,0,0),说明你没弄明白向量加减法。

感谢jump晃悠@UWA问答社区提供了回答

A4:其实是值太大而变化小,肉眼没办法区分变化:

感谢龙少@UWA问答社区提供了回答


Script

Q:我想创建一个通知状态,该状态禁用除特定输入操作之外的所有输入操作,但它会禁用所有输入操作。就是我想在某个阶段中只接受WASD的移动操作,禁用攻击、跳跃的操作。

例如,我有一个向右行走的角色。

当向右行走的动画中加入该NotifyState时,除了WASD移动输入操作外,我希望禁用所有输入操作,如“攻击、跳跃”等。

在其他情况下,只能激活其他输入操作(例如,只能激活跳跃输入操作)。

我想选择一个特定的输入操作来激活它,请问这要怎么实现呢?

A:有两种解决方案:

1. 用Remove/Add Mapping Context节点直接移除/添加映射上下文,可以写个函数来控制不同Mapping Context的切换,例如用个Enum作为变量,如下图:

2. 给某个具体的input事件加个条件判断,不符合条件就空着:

复现:
案例中为第一人称视角,鼠标的移动会控制相机的朝向(IA_Look),当测试物体旋转功能时,希望关闭该输入事件,转而使用鼠标移动来控制物体的旋转(IA_CheckLook)。

这里使用了方案一,用了不同的IMC:

之后通过键盘的E切换两种IMC:

效果:

针对以上问题,有经验的朋友欢迎转至社区交流:
UWA问答 | 游戏开发者互动问答社区 | 侑虎科技

封面图来源于网络


今天的分享就到这里。生有涯而知无涯,在漫漫的开发周期中,我们遇到的问题只是冰山一角,UWA社区愿伴你同行,一起探索分享。欢迎更多的开发者加入UWA社区。

UWA官网:www.uwa4d.com
UWA社区:community.uwa4d.com

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1985655.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

CodeWave常用功能

1、CodeWave添加H5或PC端 CodeWave在左侧侧边栏&#xff0c;可通过“”按钮&#xff0c;直接添加PC端或H5端&#xff0c;或添加页面。 2、修改主题颜色 CodeWave左侧栏对应端的更多按钮中&#xff0c;可对权限及主题色进行修改。 在主题样式修改页面&#xff0c;右侧提供了预…

视频监控汇聚平台LntonCVS视频监控管理平台解决方案和常见的接入方式

一、视频融合平台 LntonCVS是一款支持多种协议和设备接入的视频汇聚流媒体平台。它能够统一管理和整合不同品牌、不同协议的视频资源&#xff0c;构建视频数据资源池&#xff0c;并通过视频资源目录为各类业务场景提供丰富、实时、高清的视频资源。 二、接入方式 1. 前端设备…

成都跃享未来教育咨询抖音小店共绘未来发展

在数字经济的浪潮中&#xff0c;教育行业正经历着前所未有的变革与升级。成都&#xff0c;这座历史悠久而又充满活力的城市&#xff0c;正以其独特的地理位置、深厚的文化底蕴和前瞻性的发展战略&#xff0c;孕育着教育创新的新篇章。其中&#xff0c;成都跃享未来教育咨询抖音…

水域救援设备,保护水域安全_鼎跃安全

季作为一年中最炎热的季节&#xff0c;不仅带来了难耐的高温&#xff0c;也悄然间加剧了水域安全问题的严峻性。这一时期&#xff0c;正值学生群体享受悠长暑假的宝贵时光&#xff0c;他们往往倾向于寻找清凉之地以解酷暑&#xff0c;水域因此成为了不少学生的首选之地。然而&a…

Linux(CentOS)环境搭建Gitea做私有的git服务器

基本分三大步骤&#xff0c;1.安装Gitea&#xff0c;2.安装MySQL&#xff08;或者SQlite等其中一款数据库&#xff09;3.安装Git 一.Gitea Gitea文档地址&#xff1a;文档 - Docs (gitea.io) Gitea的官网&#xff1a;https://gitea.io Gitea最新版本的下载地址&#xff1a;…

【一竞技CS2】Twistzz秋季小组赛rating最高指挥

1、BLAST秋季小组赛于刚刚落下帷幕&#xff0c;数据统计显示&#xff0c;Liquid战队选手Twistzz是秋季小组赛里Rating最高指挥。 2、HLTV发布本周最新世界排名。TOP10战队方面凭借着在小组赛双杀NAVI头名晋级&#xff0c;Liquid战队新阵容一跃进入TOP10的行列&#xff0c;目前位…

湖北职称评审条件是什么?

其实湖北职称评审&#xff0c;要求很多&#xff0c;具体是根据评审专业大类来划分的&#xff0c;不同的专业要求略微有不同&#xff0c;主要是表现在相应的资料准备上&#xff0c;那么职称具体的有哪些要求&#xff1f; 别老听别人说湖北职称申报要求是什么&#xff0c;甘建二告…

基于R语言生物信息学大数据分析与绘图

随着高通量测序以及生物信息学的发展&#xff0c;R语言在生物大数据分析以及数据挖掘中发挥着越来越重要的作用。想要成为一名优秀的生物数据分析者与科研团队不可或缺的人才&#xff0c;除了掌握对生物大数据挖掘与分析技能之外&#xff0c;还要具备一定的统计分析能力与SCI论…

文本加密工具类-支持MD5、SHA1、SHA256、SHA224、SHA512、SHA384、SHA3、RIPMD160算法

文本加密工具类 1.算法简介1.1 MD51.2 SHA-11.3 SHA-2&#xff08;推荐使用&#xff09;1.4 SHA-3&#xff08;推荐使用&#xff09;1.5 RIPEMD-160 2.工具类案例2.1POM导入2.2代码编写2.3 输出示例 1.算法简介 1.1 MD5 MD5 (Message-Digest Algorithm 5) 描述&#xff1a;M…

一文理清生产管理的“4管”和“8理”!

一提到生产管理&#xff0c;很多人的第一反应可能是车间里忙碌的身影、流水线上飞速运转的机器&#xff0c;还有一张张密密麻麻的生产计划表。但实际上&#xff0c;生产管理远不止于此。 “科学管理之父”弗雷德里克温斯洛泰勒认为&#xff1a;管理就是确切地知道你要别人干什…

【Python】数据类型之元组

列表&#xff08;list&#xff09;是一个有序且可变的容器&#xff0c;在里面可以存放多个不同类型的元素。 元组&#xff08;tuple&#xff09;是一个有序且不可变的容器&#xff0c;在里面可以存放多个不同类型的元素。 1、定义 元组中的元素与元素之间用逗号相隔&#xf…

mybatis插件代码生成。

mybatis插件代码生成。 第一步连接数据库&#xff1a;第二步&#xff0c;选择数据库表&#xff1a;第三步&#xff0c;进行配置选择第四步、就生成了有关于表的实体类和其他的表数据。 第一步连接数据库&#xff1a; 在右边&#xff0c;拉出数据库的操作栏 输入用户名密码&am…

虚拟机Windows10系统安装QEMU

文章目录 1. QEMU安装1.1 安装准备1.1.1 安装平台1.1.2 软件下载 1.2 安装QEMU1.2.1 找到下载的QEMU软件&#xff0c;双击开始安装1.2.2 设置语言1.2.3 安装向导&#xff0c;点击 Next1.2.4 点击“I Agree”1.2.5 点击Next1.2.6 设置软件安装位置1.2.7 点击 finish1.2.8 编辑系…

Wi-Fi 7信号标志着行业新的关注重点:稳定性

多链路操作和 6GHz 频段保证了比以往更高的可靠性 Wi-Fi 无疑是我们生活中一项广泛使用的成功技术,但它仍存在一些缺陷,如服务质量不稳定、网速较慢或网络总是中断等问题,给人一种可靠性不佳的印象。 随着 Wi-Fi 7 在今年问世,这一代 Wi-Fi 的重点将转向改善其可靠性。以往每…

【C++】STL | vector 详解及重要函数的实现

目录 前言 总代码 vector类框架建立&#xff08;模板与成员变量&#xff09; 构造、析构、swap 与 赋值重载 构造 析构 swap 赋值重载 reserve 扩容&#xff08;重要&#xff01;&#xff01;&#xff09;、size、capacity operator[ ]重载 insert 插入 逻辑讲解 i…

手撸高性能日志系统(一):百万日志,秒秒落盘(小试牛刀篇)

一、需求一丢&#xff0c;谁累成狗 最近由于某些需要&#xff0c;计划手撸一个高性能的日志系统。需求很简单&#xff1a; 1、 不允许丢一条日志信息&#xff08;很重要很重要&#xff09; 2、支持多线程&#xff0c;必须线程安全 3、性能要越优越好&#xff0c;尽量百万可秒级…

【逗老师的无线电】QRZ快速得到Incoming请求的准确QSO时间

各位友台&#xff0c;有没有遇到过别人从QRZ发过来了Incoming的QSO请求&#xff0c;但是我完全不记得QSO的时间和波段&#xff0c;盲猜要猜好久。尤其是下面这种&#xff0c;8月份发来的6月份的通联记录&#xff0c;这我天天FT8&#xff0c;上哪翻当天的记录啊&#xff08;大概…

第6章>>实验6:PS(ARM)端Linux RT与PL端FPGA之间(通过Reg寄存器进行通信和交互)-《LabVIEW ZYNQ FPGA宝典》

1、实验内容 前面第五章入门实验和上一个实验5里面我们向大家展示通过了布尔类型的Reg寄存器通道实现了ZYNQ PS端ARM和PL端FPGA二者之间的开关量交互&#xff0c;抛砖引玉。 从本节实验开始&#xff0c;接下来4个实验我们将着重向大家讲解更为通用和更为全面的4种交互方式&…

研0 冲刺算法竞赛 day27 P1090 [NOIP2004 提高组] 合并果子 / [USACO06NOV] Fence Repair G

P1090 [NOIP2004 提高组] 合并果子 / [USACO06NOV] Fence Repair G - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 考点&#xff1a;哈夫曼树 思路&#xff1a;建优先队列&#xff0c;自动排序&#xff0c;然后每次取出最小两个即可。本来思路是数组的&#xff0c;但是一直写…

这才是你需要的C语言、C++学习路线!

大家好&#xff0c;我已经整理好了关于学习 C 语言和 C 的路径图。 接下来&#xff0c;让我们先聊一些有趣且常见的话题。 这些问题是我经常在私信中收到的&#xff0c;同时也是我在学习过程中曾经感到困惑的地方。 粉丝福利&#xff0c; 免费领取C/C 开发学习资料包、技术视…