news 2026/1/22 5:48:10

godot引擎基础学习笔记8(C#)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
godot引擎基础学习笔记8(C#)

一、物理系统

物理系统分为静态和动态节点

静态节点(StaticBody2D)主要包括地面、桌子等不会移动的物体,添加节点后需要在子节点中加入相应的图像(不显示可以不添加)和碰撞检测区域(CollisionShape2D)

动态节点(RigidBody2D)主要包括人物、球类等运动的物体,同样需要加入碰撞的子节点和图像

属性:选中静态节点后在物理材质中可以设置粗糙度等内容

二、人物角色控制

主要操控的就是动态节点,需要在动态节点中添加脚本

using Godot; using System; public partial class MySprite2d : Node2D { public override void _Ready() { this.LockRotation = true; //将人物的旋转锁定,也可在属性栏设置 } public override void _Process(double delta) {} public override void _PhysicsProcess(double delta) //通常与物理相关的操作会放在这个函数中 { base._PhysicsProcess(delta); //通过获取水平轴控制左右移动,值是0,1,-1 float horizontal = Input.GetAxis("左","右"); //给他一个X上的速度,Y不变 this.LinearVelocity = new Vertor2(horizontal*100,this.LinearVelocity.Y); //如果按了跳跃键,添加y的移动 if(Input.IsActionJustPressed("跳跃"){ //保持X不变,Y值为-300,注意负值才是向上 this.LinearVelocity = new Vertor2(this.LinearVelocity.X,-300); } } }

这时的人物已经具有了左右移动和跳跃的功能,且没有跳跃限制

如果需要设定限制跳跃次数就需要进行碰撞检测,进行碰撞检测前需要修改部分属性

public override void _Ready() { this.LockRotation = true; //将人物的旋转锁定,也可在属性栏设置 //做碰撞检测需要改的值,同样可以在属性栏修改 this.ContactMonitor = true; //是否开启碰撞检测 this.MaxContactsReported = 1; //最大接触点数 }

设置完成后记得需要在脚本中添加信号接收的方法用于连接碰撞信号

private bool isGround; //设置一个bool值判断是否在地面 public void bodyEntered(Node body) { isGround = true; //当发生碰撞时,判断人物在地面上 } public void bodyExited(Node body) { isGround = false; //当碰撞退出时,判断人物不在地面上 }

设置完成后同样需要在跳跃上设置条件

//如果按了跳跃键,添加y的移动 //按下跳跃且角色在地面上才可跳跃 if(Input.IsActionJustPressed("跳跃")&& isGround == true){ this.LinearVelocity = new Vertor2(this.LinearVelocity.X,-300); }

三、角色控制节点

在godot中有专用的角色控制节点(CharacterBody2D),该节点不会有重力的影响,需要通过代码额外实现,好处是拥有更多适用于角色的简便方法

在添加该节点的脚本时,引擎会有一个自带的角色脚本模板,里面的内容会提供包括重力生成,移动速度,跳跃等功能,具体可设置参数来调试

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/1/18 7:52:57

Supertonic部署案例:车载语音系统本地化实现方案

Supertonic部署案例:车载语音系统本地化实现方案 1. 背景与需求分析 随着智能座舱技术的快速发展,车载语音交互已成为提升驾驶体验的核心功能之一。传统基于云端的文本转语音(TTS)系统虽然音质优秀,但在实际应用中面…

作者头像 李华
网站建设 2026/1/19 2:27:54

Qwen3-VL显存优化方案:低配GPU也能流畅运行

Qwen3-VL显存优化方案:低配GPU也能流畅运行 你是不是也遇到过这种情况?在创客空间里,大家兴致勃勃地想试试最新的多模态大模型 Qwen3-VL,结果一运行官方示例就“显存不足”直接报错。尤其是像 GTX1060 这类只有 6GB 显存的老牌显…

作者头像 李华
网站建设 2026/1/21 10:28:39

通义千问3-Embedding-4B实战:合同条款智能比对系统

通义千问3-Embedding-4B实战:合同条款智能比对系统 1. 引言 在企业法务、商务谈判和合规审查等场景中,合同文本的比对是一项高频且高风险的任务。传统人工逐条核对方式效率低、易遗漏,而基于关键词匹配的工具又难以捕捉语义层面的差异。随着…

作者头像 李华
网站建设 2026/1/20 18:30:25

Fun-ASR智能录音笔方案:1小时验证AI升级可行性

Fun-ASR智能录音笔方案:1小时验证AI升级可行性 你是不是也遇到过这样的情况?公司想给现有的录音笔产品“加点AI”,比如语音转文字、自动出纪要、支持方言识别,甚至能区分多人说话内容。听起来很酷,但技术能不能行得通…

作者头像 李华
网站建设 2026/1/21 10:55:39

PaddleOCR-VL-WEB核心优势解析|附MCP服务化落地案例

PaddleOCR-VL-WEB核心优势解析|附MCP服务化落地案例 1. 引言:文档解析的工程挑战与PaddleOCR-VL的定位 在企业级AI应用中,非结构化文档处理始终是关键瓶颈。传统OCR方案多聚焦于“文字识别”本身,而忽视了对版面结构、语义关系、…

作者头像 李华
网站建设 2026/1/21 11:42:35

Top5人像增强模型横评:GPEN综合表现为何领先?

Top5人像增强模型横评:GPEN综合表现为何领先? 近年来,随着深度学习在图像生成与修复领域的快速发展,人像增强技术已成为AI视觉应用中的重要分支。无论是老照片修复、低质量证件照优化,还是社交媒体内容美化&#xff0…

作者头像 李华