You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过代码调整CPUParticles2D粒子速度并实现随变量缩放

解决CPUParticles2D粒子速度随Global.pw缩放的问题

你当前的代码是直接将initial_velocity赋值为Global.pw,这属于直接替换速度而非缩放。要实现按变量缩放速度的效果,需要基于粒子原本的初始速度方向,乘以Global.pw这个缩放因子来计算新速度。

具体修改方案如下:

  • 先在脚本中定义变量存储粒子的初始基准速度,避免每次更新时丢失原本的速度方向
  • 在_physics_process中用基准速度乘以Global.pw,得到缩放后的速度并赋值给initial_velocity

修改后的代码:

extends CPUParticles2D

var base_velocity: Vector2  # 存储粒子初始的基准速度

func _ready():
    # 记录粒子默认的初始速度作为基准
    base_velocity = initial_velocity

func _physics_process(_delta):
    # 用基准速度乘以Global.pw实现缩放
    initial_velocity = base_velocity * Global.pw

补充说明

  • 如果Global.pw是Vector2类型,会分别对X、Y方向的速度进行独立缩放
  • 如果Global.pw是浮点数/整数,则会对整个速度向量进行等比缩放,保持原本的运动方向不变
  • 注意Global.pw的值若为0会让粒子停止运动,负数则会让粒子反向发射,可根据需求调整

内容的提问来源于stack exchange,提问作者No-one in particular

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.25 17:45:42