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

Godot 4.1运行时精灵因物理设置被缩放的问题求助

问题分析与解决方法

问题根源

你把Sprite2D作为CollisionShape2D的子节点是错误的层级设计。CollisionShape2D是RigidBody2D的碰撞逻辑组件,并非承载可视节点的容器,这种层级会导致变换继承计算异常,再加上碰撞形状尺寸与Sprite纹理尺寸不匹配,最终引发运行时的非预期缩放。

解决步骤

  • 调整节点层级:将Sprite2D改为RigidBody2D的直接子节点,和CollisionShape2D处于同级。这样两者会正确继承RigidBody2D及父节点Node2D的变换参数,避免层级嵌套带来的缩放混乱。
  • 匹配碰撞形状与Sprite尺寸:
    1. 选中Sprite2D,在检查器中确认纹理尺寸为294×711。
    2. 选中CollisionShape2D,将其RectangleShape2D的尺寸设置为与纹理一致的294×711;更简便的方式是右键点击Sprite2D,选择「生成CollisionShape2D」,系统会自动创建匹配纹理尺寸的碰撞形状。
  • 统一缩放设置:保持只有父节点Node2D的缩放为(0.12, 0.193),RigidBody2D、Sprite2D、CollisionShape2D的缩放均设为(1,1),避免多重缩放叠加导致的尺寸异常。

验证效果

调整完成后运行游戏,Sprite2D会按照父节点的缩放比例正常显示,同时受RigidBody2D的重力影响下落,碰撞逻辑也能正常工作。

内容的提问来源于stack exchange,提问作者tutiplain

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.04 19:37:24