UWA社区主页:community.uwa4d.com
UWA QQ群:793972859
PuerTS和HybridCLR哪个更适合开发微信小游戏
使用了Play Asset Delivery提交版本被Google报错
怎样设置normalize来改变摄像机位置
如何禁用增强型输入法中除某些输入操作之外的输入操作
Q:PuerTS和HybridCLR哪个更适合开发微信小游戏?哪个更快?大家有做过相关的调研吗?
感谢子非鱼@UWA问答社区提供了回答
A2:可以参考以下文章,但综合来看应该还是HybridCLR更好一些:
https://zhuanlan.zhihu.com/p/646932579
前述截图中,点击Go to declaration后,展示一个空列表,并没有说明我要求了哪些Permission。
尝试解决,在AndroidManifest中加入如下内容(想办法去除权限),仍然不能解决问题:
<!-- Foreground Services permissions -->
float3 xxx = normalize(_WorldSpaceCameraPos.xyz);
float3 yyy = normalize(_MainLightPosition.xyz);
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:其实是值太大而变化小,肉眼没办法区分变化:
Q:我想创建一个通知状态,该状态禁用除特定输入操作之外的所有输入操作,但它会禁用所有输入操作。就是我想在某个阶段中只接受WASD的移动操作,禁用攻击、跳跃的操作。
例如,我有一个向右行走的角色。
当向右行走的动画中加入该NotifyState时,除了WASD移动输入操作外,我希望禁用所有输入操作,如“攻击、跳跃”等。
在其他情况下,只能激活其他输入操作(例如,只能激活跳跃输入操作)。
我想选择一个特定的输入操作来激活它,请问这要怎么实现呢?
A:有两种解决方案:
1. 用Remove/Add Mapping Context节点直接移除/添加映射上下文,可以写个函数来控制不同Mapping Context的切换,例如用个Enum作为变量,如下图:
案例中为第一人称视角,鼠标的移动会控制相机的朝向(IA_Look),当测试物体旋转功能时,希望关闭该输入事件,转而使用鼠标移动来控制物体的旋转(IA_CheckLook)。
这里使用了方案一,用了不同的IMC:
今天的分享就到这里。生有涯而知无涯,在漫漫的开发周期中,我们遇到的问题只是冰山一角,UWA社区愿伴你同行,一起探索分享。欢迎更多的开发者加入UWA社区。
UWA官网:www.uwa4d.com
UWA社区:community.uwa4d.com
UWA学堂:edu.uwa4d.com
官方技术QQ群:793972859
(长按识别二维码进入UWA问答)
点击下方名片关注我们,将我设为星标,及时接收小编每日推送哦,性能优化不迷路~
近期精彩回顾
【万象更新】支持HarmonyOS NEXT,UWA邀您加入先锋计划