hareqj   ♂  喵他  
 编程让人生更优雅

Godot游戏引擎鼠标点击3D物体并获取响应互动

作者:开发游戏的老王
3D 

节点结构

其中
clickable是个MeshInstance负责显示模型,这个Demo的逻辑脚本也挂在了上面
Area就是Area类型的CollisionObject
CollisionShape就是CollisionObject所需的CollisionShape

Godot实现这个效果的思路非常清晰而且符合职责单一的原则:
MeshInstance负责显示
CollisionObject负责碰撞检测以及信号发送
CollisionShape负责描述碰撞盒

代码:

extends MeshInstance

func _on_Area_input_event(camera, event, click_position, click_normal, shape_idx):
	if event is InputEventMouseButton:
		if event.button_index == BUTTON_LEFT and event.pressed == true:
			_doSomething()

func _doSomething():
	print("Hi Click")

然后把_on_Area_input_event方法连接到Area的相应事件就可以了

 

本文为ttm2d原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上出处链接和本声明。
转载自 https://blog.csdn.net/ttm2d/article/details/102480995

[举报]  赞↑ [0 踩↓ [0
暂无评论
[声明]

初衷和宗旨:共同努力,推动Godot游戏引擎在国内的普及和发展.
1.本站所有内容皆为用户发布,如有涉嫌侵权请联系hareqj#163.com,告知内容右上角所在编号以及侵权证据.
2.禁止发布色情/暴恐/时政/商广/带网址或二维码水印/涉嫌隐私或未经授权的私人图片.
3.举报和投稿:hareqj#163.com

Godot中文社区QQ群
Copyright Godot中文社区 Godott.com All Rights Reserved.
京ICP备13032831号