如何在运行时获取硬件信息

1)如何在运行时获取硬件信息
2)如何在按下鼠标键时移动UI面板,并跟随鼠标光标移动
3)如何制作看起来像低帧率运行效果的材质
4)如何在玩家周围随机播放声音


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

Platform

Q:请问怎样在运行时获取硬件信息?一般参考其中哪些信息进行分级比较合理?

A:一般是用SystemInfo里的一些接口,如图:

真机上输出效果如图:

一般用其中deviceType、deviceName去找对应的硬件档次划分;或者直接graphicsDeviceName给到的GPU型号进行画质分级。

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


Script

Q:我尝试在按下鼠标按钮时移动UI部件。它确实会移动,但它无法跟随鼠标光标,当我松开鼠标按钮时,它仍然会继续移动。以下是我目前的实现方式:

A:在单个的窗口wWindow中进行设置:有一个Vecter2d类型的Grab Offset参数,在OnMouseButtonDown中设置,即鼠标在窗口中的位置,之后在移动的时候会用到。设置一个Event Dispatcher,当抓住窗口时通过事件分发器让主窗口接收该信息。

在OnMouseButtonUp中通过事件分发器告知不再需要抓住窗口。

之后在主窗口wScreen中添加这些单独的wWindow窗口。首先添加6个窗口,并注册事件分发器,并且让窗口被抓住时赋予更高的ZOrder值,使它位于最上方。在Tick中设置单个窗口的位置,利用鼠标在窗口的位置减去之前的Grab Offset。

还需要获取鼠标在主窗口中的位置,在OnMouseMove中进行设置。

将单个窗口的UI简单设置一下,即可得到最终效果:

该回答由UWA提供


Rendering

Q:我想要制作一种以更低帧率运行的材质,并不是运动速度慢,而是看起来像低帧率下的运行效果。请问如何制作呢?

A:题主希望材质有某种动画效果,且这种动画效果的更新速率更慢,就像低帧率下的效果。

使用以下方法固定时间间隔,但缺点是运行时间长了精度可能会有问题。

复现效果:

该回答由UWA提供


Script

Q:我想要一个在玩家周围随机生成声音对象的方法,它会随机选择声音来生成。我对如何随机选择声音有想法,但是不知道该如何让它们在玩家周围足够随机性的生成。请问有什么好的解决办法吗?

A:参考以下蓝图,核心就是Play Sound at Location,将Sounds设置为Array从中随机获取,Location也是设置包围盒在里面随机取。另外用Set Timer by Event来持续调用这个事件。

可以用Draw Debug Sphere来显示当前随机的Location,用au.Debug.SoundCues 1来显示音频文件:

该回答由UWA提供

封面图来源于网络


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

UWA官网:www.uwa4d.com
UWA社区:community.uwa4d.com
UWA学堂:edu.uwa4d.com

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值