- 博客(33)
- 收藏
- 关注
原创 Unity核心概念⑫:碰撞检测
Unity物理系统核心概念摘要:碰撞检测需两个物体都有碰撞器且至少一个有刚体。刚体通过Rigidbody组件控制物理特性,包括质量、阻力、重力、碰撞检测模式等。常用碰撞器包括盒状、球状和胶囊碰撞器,异形物体可采用组合碰撞器。物理材质定义摩擦力、弹性等表面特性。系统提供6个碰撞/触发检测函数(OnCollision/Trigger Enter/Stay/Exit)用于响应物理事件。可通过AddForce等方法施加力,支持4种力的计算模式。刚体休眠机制可优化性能,必要时可手动唤醒。
2025-09-20 19:43:43
1300
1
原创 Unity核心概念⑪:光
Unity光源系统摘要:包含StandardAssets中的Light组件和环境光设置。光源类型包括聚光灯、方向光、点光源和面光源,可调节颜色、亮度、阴影(硬/柔阴影)和投影贴图。环境光设置支持天空盒材质、渐变颜色和雾效(线性/指数模式)。光源模式分为实时(性能消耗大)、烘焙(静态)和混合模式。其他特效包括镜头光斑、光环和剔除遮罩层控制。通过Intensity控制间接光照强度,Shadow参数调节阴影质量和偏移值。
2025-09-19 17:02:01
604
原创 Unity核心概念⑩:Camera
本文摘要: Unity摄像机参数设置指南,包含常用参数如ClearFlags(天空盒/颜色填充等渲染模式)、Projection(透视/正交模式)、Depth渲染顺序、TargetTexture(小地图制作)等核心功能说明。同时介绍了Camera类的重要代码操作,包括获取摄像机、坐标转换(世界坐标与屏幕坐标互转)、渲染委托等关键API。特别解释了屏幕坐标转世界坐标时Z值的意义,以及这些功能在游戏开发中的实际应用场景(如头顶血条、双人分屏等)。
2025-09-15 00:18:53
808
原创 Unity核心概念⑨:Screen
本文摘要:文章介绍了Unity中Screen类的静态属性和方法,包括:1)常用属性如屏幕分辨率获取和休眠模式设置;2)全屏模式设置选项(全屏、窗口化等);3)移动设备屏幕方向控制(自动旋转、强制横竖屏);4)SetResolution方法用于设置分辨率(宽、高、全屏参数)。这些功能涵盖了屏幕显示、分辨率和方向控制等基础操作。
2025-09-14 16:08:19
308
原创 Unity核心概念⑧:Input
文章摘要:本文介绍了Unity中输入系统的基本使用方法,包括鼠标、键盘、手柄和移动设备触摸的检测方法。主要内容有:获取鼠标位置和按键状态(左/中/右键按下、抬起、长按及滚轮);检测键盘按键(按下、抬起、长按)和默认轴输入(Horizontal/Vertical控制移动);手柄按钮检测;移动设备的多点触控和陀螺仪功能。还介绍了渐变输入GetAxis与离散输入GetAxisRaw的区别。这些输入检测方法通常写在Update函数中,用于实现游戏对象的交互控制。
2025-09-14 15:38:25
787
原创 Unity核心概念⑦:Transform
本文详细介绍了Unity中Transform组件的基本功能和使用方法。文章首先讲解了Transform的核心作用,包括处理游戏对象的位移、旋转、缩放、父子关系和坐标转换等操作。接着详细介绍了Vector3的声明方法、基本运算和常用属性,重点说明了位置、位移、角度与旋转的设置方法,以及坐标系转换原理。在父子关系方面,文章阐述了如何获取和设置父对象、处理子对象,以及坐标系的相互转换。最后还介绍了缩放操作和LookAt方法的使用。全文通过大量代码示例,系统地讲解了Transform组件在游戏开发中的实际应用技巧。
2025-09-13 14:52:02
1292
原创 Unity核心概念⑥:Time
本文介绍了Unity中Time类的核心功能,主要包括:1)时间缩放(Time.timeScale)控制游戏速度;2)帧间隔时间(deltaTime/unscaledDeltaTime)用于位移计算;3)游戏运行时间(Time.time)和物理帧间隔(fixedDeltaTime);4)总帧数统计(frameCount)。重点区分了受时间缩放影响和不受影响的版本,以及它们在不同场景下的应用选择,如游戏暂停时的处理方式。这些功能共同构成了Unity游戏开发中的基础时间管理系统。
2025-09-11 10:27:25
218
原创 Unity核心概念⑤:GameObject
本文介绍了Unity中GameObject的核心功能与使用方法。主要内容包括:1)GameObject常用成员变量如name、activeSelf、transform等;2)静态方法如创建几何体、查找对象、实例化和删除对象;3)常用成员方法包括创建空物体、添加脚本、标签比较等;4)次要方法如消息发送机制。文章重点讲解了如何通过API操作GameObject及其组件,同时指出了不同方法的效率差异和使用场景,为Unity开发者提供了实用的编程参考。
2025-09-04 18:14:52
2122
1
原创 Unity核心概念④:MonoBehavior
Unity中的MonoBehavior是所有游戏脚本的基类,提供获取游戏对象、组件等核心功能。主要包含:1)获取当前游戏对象及其位置、旋转、缩放信息;2)通过多种方式查找组件(GetComponent系列方法),包括单个/多个组件、子对象/父对象组件查找;3)支持泛型查询和组件状态检查(TryGetComponent)。这些功能为游戏对象交互提供了基础支持,是Unity脚本开发的核心内容。
2025-09-02 17:29:58
784
原创 Unity核心概念③:Inspector窗口可编辑变量
Unity Inspector窗口变量编辑指南 Inspector窗口显示的是脚本成员变量,通过特性控制其可见性和编辑性:[SerializeField]强制显示私有变量,[HideInInspector]隐藏公共变量。常用特性包括:[Header]分组、[Tooltip]悬停提示、[Range]数值范围限制、[Multiline]多行文本等。自定义类型需添加[Serializable]特性。注意:运行时修改Inspector变量会直接改变成员变量值,但脚本默认值修改不会自动更新已拖拽的对象。
2025-09-01 17:00:35
785
1
原创 Unity核心概念②:帧、生命周期函数
本文介绍了游戏帧率与Unity生命周期函数的基本概念。帧率(FPS)指每秒渲染的画面数,60FPS即每帧16.66ms。游戏卡顿主要因显卡渲染能力不足或CPU计算超时。Unity生命周期函数是MonoBehavior脚本在游戏对象生命周期中自动调用的特殊方法,包括Awake(创建时)、Start(初始化)、Update(逻辑更新)、LateUpdate(后期处理)等核心函数,以及OnDisable(失活时)和OnDestroy(销毁前)等清理函数。开发者应根据需求选择性实现这些函数以避免不必要的内存占用。
2025-08-31 17:10:04
947
原创 Unity核心概念①
Unity开发核心概念摘要:1.父子关系通过Hierarchy窗口构建,子对象随父对象变换,Transform信息为相对值;2.反射机制是Unity运行时的核心,通过元数据动态创建和操作对象;3.场景本质是配置文件,GameObject是场景对象基础;4.预制体是可复用模板;5.资源通过Project窗口导入导出;6.脚本须继承MonoBehaviour才能挂载,类名与文件名必须一致,避免使用构造函数。这些机制共同支撑Unity的动态开发流程。
2025-08-30 19:48:48
2342
原创 Unity场景窗口介绍
本文介绍了Unity引擎的核心工作界面和文件夹结构。在文件夹方面,Assets存放资源,其他如Library、Logs等多为自动生成的管理文件。主要工作窗口包括:Scene场景窗口(游戏对象操作)、Game游戏画面窗口(玩家视角)、Project资源窗口(Assets内容)、Inspector脚本信息窗口和Console调试窗口。这些组件协同工作,如同剧场系统:Scene是舞台,Hierarchy是演员表,Game是摄像机画面,Inspector是剧本,Project是后台,Console则是表演反馈。这种
2025-08-28 16:13:38
587
原创 C#控制台小游戏《王子解救公主》的完整代码
【C#控制台游戏《王子解救公主》开发总结】 本文介绍了一个基于C#控制台的简易RPG游戏开发项目。提供了完整的源代码供学习者参考扩展。
2025-08-22 17:09:28
458
原创 用C#在控制台设计游戏结束场景
本文介绍了如何使用C#在控制台实现游戏结束场景的设计。主要内容包括:1)设置GameOver标题和游戏结果(胜利/失败)的显示;2)设计两个选项(回到开始界面/退出游戏),通过光标选择时改变颜色;3)实现选项间的上下移动限制;4)处理回车键确认选择后的场景跳转或退出游戏功能。文章提供了完整的代码实现,涵盖了控制台游戏的界面布局、颜色设置、用户输入处理等关键功能,为控制台游戏开发提供了实用参考。
2025-08-22 17:01:24
688
原创 用C#在控制台设计游戏战斗场景
本文介绍了使用C#在控制台实现游戏战斗场景的设计过程,主要包括五个核心功能:1)设置红色边界墙;2)设计居中位置的Boss怪兽;3)实现主角移动控制逻辑;4)构建回合制战斗系统;5)设计解救公主的胜利条件。通过控制台光标定位、颜色设置和键盘输入处理,实现了边界绘制、角色移动、战斗交互等功能。战斗系统包含血量显示、随机伤害计算和胜负判定,击败Boss后触发公主解救剧情。代码展示了完整的场景切换逻辑和游戏状态管理,为控制台游戏开发提供了实用范例。
2025-08-21 18:21:39
1099
原创 用C#在控制台设计游戏开始场景
本文介绍了如何从编程角度设计游戏开始场景。以"王子解救公主"游戏为例,详细说明了开始场景的实现步骤:1)设置控制台窗口大小和标题;2)创建"开始游戏"和"退出游戏"选项,并实现光标移动功能;3)通过按键控制选项切换和场景跳转。文章提供了完整的C#代码,包括窗口设置、选项显示、颜色变化和按键处理等关键功能。该设计采用模块化思路,为后续战斗场景等模块开发奠定了基础。
2025-08-18 15:54:22
897
原创 C#生成随机数并模拟游戏中战斗扣血逻辑
本文介绍了C#中随机数的生成方法及游戏战斗逻辑实现。首先讲解了Random类的使用方法,包括生成非负随机数、限定范围随机数(0-99和10-99)的具体语法。随后演示了一个战斗扣血系统的实现:主角攻击力随机(8-12),假人防御力10、血量20,当攻击力大于防御时计算伤害差值,通过while循环实现战斗过程,并添加了不同颜色的控制台输出和500毫秒延迟来增强视觉效果。最终当假人血量归零时显示击败信息。
2025-08-17 16:43:35
401
原创 C#控制台相关并在控制台运行小游戏移动逻辑
本文介绍了C#控制台的基本操作方法,包括输入输出、控制台设置和颜色控制等内容。重点讲解了如何利用这些方法实现一个简单的控制台游戏:通过WASD键控制黄色方块的移动。文章提供了完整的代码示例,实现了方块移动、边界检测和退出功能,同时说明了控制台窗口大小、光标位置和颜色设置等关键技术点。这个示例展示了如何将基础控制台操作组合成一个简单的交互式应用。
2025-08-16 18:34:05
928
原创 C#的for循环语句
本文介绍了for循环的基本作用、语法结构及实际应用。for循环通过初始表达式、条件表达式和增量表达式三部分构成,适合处理确定范围的数值操作。文章详细说明了各表达式的作用机制,并指出for循环支持嵌套和死循环等特性。通过6个典型练习展示了for循环的多种应用场景,包括数值输出、偶数求和、九九乘法表以及不同形状的星型方阵打印。这些示例涵盖了for循环的基本语法、嵌套使用和格式化输出等核心知识点,可作为编程初学者的实践参考。
2025-08-14 15:16:25
589
原创 C#的while语句和do while语句
本文介绍了while循环的基本语法、使用场景及注意事项。while循环通过条件判断重复执行代码块,可用于累加计算、质数判断、密码验证等场景。文章详细说明了break(跳出循环)和continue(跳过本次循环)两个流程控制关键词的使用方法,并提供了7个典型练习案例,包括奇数和计算、质数判断、用户登录验证、班级成绩统计等。特别提醒要注意避免死循环,同时讲解了while循环的嵌套使用方式。这些示例展示了while循环在程序逻辑控制中的灵活应用。
2025-08-11 16:29:12
1227
原创 C#的switch语句
本文介绍了switch语句的语法与应用。switch语句通过判断变量值实现代码分支,基本结构为switch(变量){case常量:代码;break;...}。文章详细说明了其特点:支持多个case、可选default、允许嵌套和贯穿(多个case共享代码块)。最后通过学生成绩评级案例演示了实际应用,先使用if-else将分数转换为等级,再用switch输出对应评级(A-E)。这个案例展示了switch语句与条件判断的配合使用方式。
2025-08-08 12:32:03
539
原创 C#的if语句
本文介绍了C#中的条件语句及其应用。主要内容包括:1) if语句的基本语法和使用注意事项;2) if-else语句实现双分支逻辑;3) if-elseif-else语句处理多条件判断;4) 5个实践练习,包括数值比较、奇偶判断、最大值查找、字符验证和登录验证等场景。重点讲解了条件语句的语法规则、嵌套使用方法和常见应用场景,通过示例代码展示了如何利用bool表达式实现程序逻辑分支控制。
2025-08-07 15:53:59
585
原创 C#运算符
本文介绍了四种运算符的使用:1)条件运算符(>,<,==等)用于比较值,返回布尔结果;2)逻辑运算符(&&,||,!)用于布尔运算,支持优先级和短路规则;3)位运算符(&,|,^等)对二进制位进行操作;4)三目运算符(?:)实现条件赋值。重点说明了各运算符的语法规则、使用注意事项和典型应用场景,如条件比较、区间判断、位运算计算等,并提供了示例代码说明其具体用法。
2025-08-05 18:44:40
497
原创 C#字符串拼接
本文介绍了C#中字符串拼接的多种方法:1.使用"+"或"+="运算符进行拼接,注意运算顺序和类型转换规则;2.使用string.Format()方法和占位符{0}{1}等格式化字符串;3.直接在Console.WriteLine中使用占位符输出。文章还提供了4个练习案例,演示如何拼接用户输入的姓名、年龄等个人信息,包括基本拼接、复合运算拼接和占位符格式化输出等方法,帮助掌握字符串处理技巧。
2025-08-04 18:04:54
218
原创 C#算数运算符
本文介绍了C#基础运算符的使用方法,包括赋值运算符、算术运算符及其优先级规则。重点讲解了复合运算符(+=,-=等)和自增/减运算符(++/--)的特性与区别。通过6个典型练习示范了实际应用:1)年龄计算;2)圆面积周长计算;3)成绩统计;4)自增运算结果分析;5)变量交换的两种方法;6)时间单位转换。特别强调了运算符优先级、整数除法特点以及复合运算符的使用限制,为初学者提供了清晰的运算规则指导。
2025-07-31 18:39:10
408
原创 C#异常捕获
本文介绍了C#中异常处理的基本用法。通过try-catch-finally结构可以捕获程序运行时的异常,避免程序崩溃。try块包含可能出错的代码,catch块处理异常,finally块无论是否异常都会执行。文中给出了数字转换和成绩输入的示例:当用户输入非数字时会提示"请输入合法数字"或"成绩输入有误",finally块确保"处理完毕"始终输出。这种异常处理机制能有效提升程序的健壮性,确保在用户输入错误时程序仍能继续运行。
2025-07-30 16:03:49
254
原创 C#显式转换
本文介绍了C#中的类型转换方法。1.括号强转:用于高精度转低精度类型,需注意精度丢失和范围异常问题;2.Parse法:将字符串转换为对应类型,字符串必须合法;3.Convert法:支持各类型间转换,会进行四舍五入,bool可转数值;4.ToString方法:用于类型转字符串。文末提供了两个练习题:将数字24069转为字符"帅",以及实现用户输入姓名和三科成绩并存储为整型变量的功能。
2025-07-30 15:04:15
339
原创 C#隐式转换
类型转换是不同数据类型之间的相互转换机制。隐式转换遵循"大范围装小范围"原则,允许大范围类型自动存储小范围类型值,但反之则不行。数值类型中,整数可隐式转浮点数,但浮点数不能转整数;decimal不能隐式存储double/float。bool、char、string等特殊类型间不存在隐式转换关系,但char可转换为部分数值类型。无符号类型与有符号类型间也不能隐式转换。这些规则确保了数据类型转换的安全性和准确性。
2025-07-29 15:45:56
250
原创 C#转义字符
转义字符是字符串中表示特殊含义的字符组合,以反斜杠\开头。常用转义字符包括单引号(')、双引号(")、换行符(\n)和斜杠(\),不常用的有制表符(\t)、退格符(\b)、空字符(\0)和警报音(\a)。在C#中可通过@符号取消字符串中的转义效果。示例代码演示了各种转义字符的使用方法。
2025-07-28 14:28:49
347
原创 C#变量的本质
C#数据类型可分为值类型和引用类型。值类型包括整数(byte、int等)、浮点(float、double)、字符和布尔等,其大小固定;引用类型(如object、string等)存储对象引用,大小不固定。指针类型在32/64位系统中分别为4/8字节。变量命名有严格规则,如不能使用关键字、不能数字开头等。常量使用const声明,必须初始化且不可修改。内存单位从字节到TB按1024进制递增。可通过sizeof获取类型大小。
2025-07-25 10:43:53
505
原创 C#基础变量
本文介绍了C#控制台程序的三个变量操作示例:1)基本变量声明与运算,计算n+m的值;2)添加字符串变量输出计算结果;3)通过中间变量sum实现n和m的值交换。每个示例都使用Console.WriteLine输出结果,并以Console.ReadKey()保持控制台窗口显示。这些代码展示了C#中的变量声明、赋值、运算以及控制台输出的基本用法。
2025-07-06 16:20:34
122
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅