首页 > 其他分享 >PuerTS和HybridCLR哪个更适合开发微信小游戏

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

时间:2024-08-06 11:17:43浏览次数:11  
标签:normalize 社区 PuerTS 微信 HybridCLR UWA 问答 输入

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


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

UWA社区主页:community.uwa4d.com
UWA QQ群:793972859

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作为变量,如下图:

 

 

 

 

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

 

 

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

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

 

  

 

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

 

 

效果

 

针对以上问题,有经验的朋友欢迎转至社区交流:
https://answer.uwa4d.com/question/66a71039682c7e5cd61bf889

封面图来源于网络


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

UWA官网:www.uwa4d.com
UWA社区:community.uwa4d.com
UWA学堂:edu.uwa4d.com
官方技术QQ群:793972859

标签:normalize,社区,PuerTS,微信,HybridCLR,UWA,问答,输入
From: https://www.cnblogs.com/uwatech/p/18344776

相关文章

  • 微信小程序嵌入快递100物流轨迹
        前提是开通快递100的物流轨迹地图接口,可以联系业务经理送10条测试(他们人超好!)轨迹地图接口返回的数据包括物流历史信息、物流轨迹地图url.我们要做的就是小程序里面点击查看物流,跳转到一个页面,上面显示地图并且可拖拽放大缩小,下面显示物流信息记录。但是微信小程序we......
  • 微信小程序项目-宠物商城项目uniapp源码和代码讲解
      ......
  • 微信小程序开发中的朋友圈分享和社交媒体接入
    微信小程序开发中的朋友圈分享和社交媒体接入基本概念社交媒体分享作用说明示例一:基础的朋友圈分享开启分享菜单配置分享内容示例二:自定义分享内容自定义分享内容示例三:动态调整分享内容动态调整分享内容页面结构示例四:分享到其他平台分享到QQ空间页面结构示例五:使......
  • 如何为微信小程序添加微信支付和小程序支付功能
    如何为微信小程序添加微信支付和小程序支付功能基本概念微信支付小程序支付统一下单接口示例一:配置微信支付配置小程序合法域名示例二:后端生成预支付订单示例三:前端获取支付参数并发起支付获取支付参数后端返回支付参数示例四:处理支付回调示例五:支付成功后的逻辑处理......
  • 微信答题小程序产品研发-用户操作流程设计
    在答题小程序中,用户流程是指用户从进入小程序开始,到完成答题、查看结果、进行练习等一系列操作的步骤。这里我画了一张用户流程图,展示用户在小程序中的主要操作流程。以及对每个步骤的详细说明。这里分两种角色,用户和管理员(或运营者)。那么,它解决了什么问题?为用户提供了一个......
  • Java基于微信小程序的高校大学生新生迎新管理系统 uniapp
    文末获取资源,收藏关注不迷路文章目录项目介绍技术介绍项目界面关键代码目录项目介绍随着信息技术的飞速发展,信息化已经深入到社会生活的各个领域。高校作为科研的前沿阵地,一直走在科技发展的前列,特别是在信息化方面。如今,大部分高校都建立了数字化、信息化的校园平......
  • 微信小程序2
    事件绑定1.需要给input标签绑定一个input事件绑定关键字bindinput2.如何获取输入框的值通过事件源对象来获取的e.detail.value3.把输入框中的值复制到data当中不能直接this.data.num=e.detail.value......
  • 微信小程序
    模板语法:1、数据绑定 .wxml:    1.text标签      相当于以前web中的span标签     行内元素     不会换行   2.view标签      相当于以前web中的div标签       块级元素     会换行   3.ch......
  • 微信小程序3
    1.样式文件1.小程序中不需要主动来引入样式文件2.px是写死的像素,不会变的,需要把页面中某些元素的单位由px变为rpx1.设计稿 750px750px=750rpx   1px=1rpx2.把屏幕宽度变为375px375px=750rpx   1px=2rpx ......
  • 一个实用小技巧——微信无损传输视频、照片小技巧
     通过聊天界面发送视频:清晰度下降        作者君发现直接通过聊天界面发送视频或者照片的话,视频和照片会被压缩,清晰度大幅下降,很多时候就没法使用了,这一度让作者君有点小苦恼。如下图,作者君手机上原视频大小为28.98MB,直接通过聊天界面发送视频在电脑端下载后大小为13......