游戏鼠标视差(Mouse Parallax)功能

它有什么用?

核心目的:

让静态画面产生"跟随感"和"空间感",提升沉浸感。


1. 增强画面层次感

普通:

复制代码
玩家
 |
Camera
 |
固定画面

感觉像在看截图。

加入鼠标偏移:

复制代码
鼠标 →

        Camera轻微移动

玩家视角产生变化

玩家感觉:

我正在观察这个世界。


2. 主菜单常用

很多游戏主菜单:

比如:

  • 角色展示
  • 武器展示
  • 游戏Logo背景

鼠标移动:

复制代码
鼠标 →
角色背景轻微移动

让界面感觉更高级。

例如:

复制代码
背景层       移动 5px
角色层       移动 15px
前景粒子     移动 30px

这就是 Parallax(视差)


3. 增强战斗反馈

肉鸽游戏非常常见。

例如:

玩家攻击:

普通:

复制代码
角色挥刀

加入 Camera Offset:

复制代码
鼠标方向 →
镜头稍微偏移
攻击方向更明显

玩家会感觉:

  • 攻击更有力量
  • 视野更开阔
  • 操作更跟手

4. 第三人称游戏常用

类似:

  • 《荒野大镖客》
  • 《最后生还者》
  • 《原神》

都有类似概念。

比如:

鼠标向右:

复制代码
角色

     镜头偏右

看到更多右侧空间

方便玩家观察。


5. 恐怖游戏增强压迫感

比如:

鼠标移动:

复制代码
你看向左边

镜头稍微跟过去

产生:

  • 人在观察环境
  • 不是固定摄像机
  • 更真实

Godot鼠标视差Camera脚本

python 复制代码
extends Camera2D


@export_category("Mouse Camera Follow")

# 鼠标影响摄像机的最大偏移距离
@export var mouse_strength: float = 20.0

# 镜头平滑速度
@export var smooth_speed: float = 5.0


var target_offset: Vector2 = Vector2.ZERO
var mouse_inside: bool = true


func _ready():
	
	# 监听鼠标进入/离开窗口
	get_viewport().mouse_entered.connect(_on_mouse_entered)
	get_viewport().mouse_exited.connect(_on_mouse_exited)


func _process(delta):

	if mouse_inside:
		# 获取鼠标位置
		var mouse_position = get_viewport().get_mouse_position()

		# 获取屏幕中心
		var screen_center = get_viewport_rect().size / 2


		# 鼠标相对于中心的位置 (-1 ~ 1)
		var mouse_direction = (
			mouse_position - screen_center
		) / screen_center


		# 计算目标偏移
		target_offset = mouse_direction * mouse_strength

	else:
		# 鼠标离开窗口,回到默认位置
		target_offset = Vector2.ZERO

	# 平滑移动摄像机
	offset = offset.lerp(target_offset, smooth_speed * delta)


func _on_mouse_entered():
	mouse_inside = true



func _on_mouse_exited():
	mouse_inside = false
相关推荐
智塑未来12 小时前
打开快、切换顺、游戏稳:鸿蒙的日常流畅表现
游戏·华为·harmonyos
小乖写代码12 小时前
49款开源Android小游戏
android·游戏
松树戈12 小时前
godot项目【宝石捕手】03~宝石刷新、游戏结束脚本逻辑
游戏·godot
智塑未来1 天前
鸿蒙游戏体验手册:四种能力从性能到玩法逐一解锁
游戏·华为·harmonyos
ownkss1 天前
游戏运营季度复盘怎么做:步骤、指标与复盘重点
游戏·游戏发行·游戏运营·游戏分发
河南花仙子科技2 天前
花仙子科技干货分享|游戏制作技术演进历程与未来展望
科技·游戏
ownkss2 天前
游戏公会联运怎么做:步骤、指标与复盘重点
游戏·游戏发行·游戏运营·游戏分发
xcLeigh2 天前
Unity基础:C#脚本的创建与挂载——让你的游戏物体活起来
游戏·unity·c#·教程