Godot的Normalized()函数说明

豆包,我按住2个方向键,godot打印出来的变量是(0.7,0.7),不是说用了Normalized()函数,只能是整数吗?

cs 复制代码
        // 键盘输入
        Vector2 inputDir = Input.GetVector("ui_left", "ui_right", "ui_up", "ui_down");
        inputDir = inputDir.Normalized();

        GD.Print($"Input: {inputDir}"); // 输出输入向量,调试用

核心答案:

Normalized () 不会把数字变成整数!它只会把向量长度变成 1,但里面的数字依然是小数。

为什么斜着走是 (0.7, 0.7)?

你同时按 → 和 ↓:

原始输入向量是 (1, 1)

这个向量的长度是 1.414

Normalized() 会把它缩放到长度 = 1

所以变成 (0.707..., 0.707...)

这是正常、正确、标准的结果!

那什么时候才会是整数?

只有 4 个正方向 才会是整数:

上:(0, -1)

下:(0, 1)

左:(-1, 0)

右:(1, 0)

8 个斜方向永远是小数!

简单总结一句

Normalized () = 让向量长度变成 1

不是让数字变成整数!

相关推荐
风子1111 天前
pong_Day 3:AI 对手球拍 + 计分系统 + 胜负判定
godot
风子1112 天前
pong_day02_让球飞来+碰撞反弹
godot
kyle~12 天前
Godot开源游戏引擎
开源·游戏引擎·godot
郝学胜-神的一滴13 天前
[简化版 GAMES 101] 计算机图形学 13:从光栅化到着色——赋予三维像素光影灵魂
c++·计算机视觉·unity·godot·图形渲染·opengl·unreal
Zwarwolf14 天前
Godot零散知识点项目汇总
游戏引擎·godot
caimouse16 天前
Godot Engine 最新版官方文档(简体中文完整翻译 & 精简梳理)
游戏引擎·godot
郝学胜-神的一滴17 天前
中级OpenGL教程 009:用环境光告别模型死黑
前端·c++·unity·godot·图形渲染·opengl·unreal
张学徒17 天前
Godot 4.x 中导入Excel文件的最简单的方式
游戏·godot·gdscript·游戏开发
caimouse18 天前
Godot 引擎官方常见问题(FAQ)整理
游戏引擎·godot
caimouse19 天前
Godot 4.7 内嵌 C# 模块切换到 .NET 9.0 编译指南
c#·.net·godot