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

不是让数字变成整数!

相关推荐
Python私教5 天前
我用 AI 做出了第一个 Godot 贪吃蛇
人工智能·游戏引擎·godot
郝学胜-神的一滴8 天前
中级OpenGL教程 020:巧用数组与循环实现多点点光源渲染,告别冗余代码重构方案
c++·unity·游戏引擎·godot·图形渲染·unreal
KillJUMP13 天前
SDF函数
godot·着色器
松树戈15 天前
【Godot4精进之路】03~Godot编辑器常用界面介绍
编辑器·游戏引擎·godot
郝学胜-神的一滴19 天前
[简化版 GAMES 101] 计算机图形学 16:纹理走样、Mipmap、三线性插值、各向异性过滤原理全解
unity·游戏引擎·godot·图形渲染·three.js·opengl·unreal
风子111 个月前
pong_Day 3:AI 对手球拍 + 计分系统 + 胜负判定
godot
风子111 个月前
pong_day02_让球飞来+碰撞反弹
godot
kyle~1 个月前
Godot开源游戏引擎
开源·游戏引擎·godot
郝学胜-神的一滴1 个月前
[简化版 GAMES 101] 计算机图形学 13:从光栅化到着色——赋予三维像素光影灵魂
c++·计算机视觉·unity·godot·图形渲染·opengl·unreal
Zwarwolf1 个月前
Godot零散知识点项目汇总
游戏引擎·godot