- 2024-12-24【unity】学习制作类银河恶魔城游戏-1-
vs连接unity创建对象,刚体,碰撞体积,材料创建一个正方体当作平台,创建一个球给球加入实体/刚体,使其能够随重力下落给球加入圆形碰撞体(collider)给平台加入碰撞体更改球的下落速度(gravityn.重力)启动!!发现球落在了平台上创建物理材料,修改摩檫力和弹力给球应用该材料
- 2024-12-21我们谈一下碰撞检测话题
多边形碰撞检测多边形碰撞检测是计算机图形学和物理引擎中的一个重要问题,尤其是在处理复杂形状时。分离轴定理(SeparatingAxisTheorem,SAT)是一种有效的方法,用于判断两个凸多边形是否相交。以下是关于SAT的详细说明,包括其原理、步骤和示例。分离轴定理(SAT)概述分离轴定理
- 2024-12-21连续碰撞检测(Continuous Collision Detection, CCD)
连续碰撞检测(ContinuousCollisionDetection,CCD)是一种用于处理物体在运动过程中可能发生的碰撞的技术。与传统的离散碰撞检测(DiscreteCollisionDetection,DCD)不同,CCD旨在解决快速移动物体在帧与帧之间可能“穿透”其他物体的问题。以下是关于CCD的详细讨论,包括其原理
- 2024-12-03Unity正方体积24个顶点与面的对应关系
最近在开发我的世界类游戏,有用到mesh的uv绑定。将这个材质纹理绑定到一个正方体上,在网上找的代码绑定错误,遂自己研究绑定关系。这是每个面对应的uv数字的索引值usingUnityEngine;publicclassMapTexture:MonoBehaviour{voidStart(){MeshFilterm
- 2024-11-30将Particle转成UGUI
在unity官方论坛看到的一个解决方案,可以将Particle直接转换成CanvasRenderer元素显示。新建一个UIParticleSystem.cs脚本,将以下代码复制进去:usingUnityEngine;usingUnityEngine.UI;usingSystem.Collections.Generic;[ExecuteInEditMode][RequireComponent(typeof(Canvas
- 2024-12-09optim.Adam优化算法
目录optim.Adam优化算法optim.Adam优化算法是PyTorch中实现Adam优化算法的类,它是一种用于训练深度神经网络的优化器。Adam优化器结合了AdaGrad和RMSProp的优点,通过计算梯度的一阶矩估计(即平均值)和二阶矩估计(即未中心的方差)来动态调整每个参数的学习率,使得训练过
- 2024-08-17Unity 麦扣 x 勇士传说 全解析 之 怪物基类与野猪(附各模块知识的链接,零基础也包学会的牢弟)(案例难度:★★☆☆☆)
通过一阵子的学习,我是这么认为的,因为该教程是难度两星的教程 ,也就是适合学了一阵子基础组件以后的学习者(什么都不会的学习者要是学这套课程会困难重重,如果你什么都不会那么需要学习一星教程)所以该课程没有那么多manger,代码也不那么面向对象,但是从怪物类之后就开始有相关的内
- 2024-08-14unity中, 二维平面上,求从点A出发,沿着方向B,与线段C的交点
代码说明:点A:起始点。方向B:一个方向向量,表示从点A出发的方向。线段C:由两个点C1和C2定义。1usingUnityEngine;23publicclassLineIntersection:MonoBehaviour4{5//返回从点A出发,沿着方向B,与线段C的交点。如果没有交点,则返回null6publicstati
- 2024-07-15【Unity】凸包算法对比及实现
背景在做闵可夫斯基差的可视化的时候,获得了很多个点,想要知道其是否包含原点,需要连接一个包裹这些点的最小凸多边形。因此就单独研究了这个部分,实现了功能并进行分析对比。凸包算法可以在多个散落的点中找到最小能包裹它的外壳,像套上一个橡皮筋一样。这里主要采用Graham算法进行代
- 2024-07-14运算符重载
运算符重载是什么:重新赋予运算符新含义,添加参数或创建,允许在程序中定义或修改运算符的行为类似函数一样。重载位置:在类中写相当于举例:要实现两个向量相加structVector2{ floatx,y; Vector2(floatx,floaty)//初始化结构体变量 :x(x),y(y) { } Vector2Add(cons
- 2024-05-12Unity2D 模拟手柄实现玩家移动
1,创建控制器UI2,挂载脚本3,脚本编写基本要素[Tooltip("玩家游戏体")]publicRigidbody2Dplayer;[Tooltip("玩家速度")]publicfloatspeed=1f;[Tooltip("玩家动画")]publicAnimatoranimator;publicenumMode{BU
- 2024-03-29多边形边界扩大算法 基于MATLAB
首先,通过定义多边形的顶点坐标(在paths、paths1和paths2变量中)和外延大小(extra和extra2变量),确定多边形的形状和外延量。对于每个多边形:使用迭代的方式遍历多边形的每个顶点。对于每个顶点,计算与相邻边的单位向量,并根据指定的外延大小计算扩展向量的长度。使用单位向量和
- 2024-03-15[Kyana]小游戏之Unity推箱子
00|学到的内容01|素材引入02|地图配置03|脚本编写Man.csusingSystem.Collections;usingSystem.Collections.Generic;usingUnityEngine;publicclassMan:MonoBehaviour{Vector2man_direction;//自定义只在本脚本临时生效的名字,需要在编辑器选择具体生
- 2024-02-243-2. 野猪-撞墙判定和等候计时
检测左边和右边是否有地面老师的代码写的是有问题的,见我扩展的代码usingSystem.Collections;usingSystem.Collections.Generic;usingUnity.VisualScripting;usingUnityEngine;publicclassPhysicsCheck:MonoBehaviour{privateCapsuleCollider2Dcoll;[
- 2024-02-22Unity如何从0实现技能CD遮罩
需求描述我们需要实现一个类似英雄联盟中的技能CD遮罩,施放技能后,技能遮罩占满技能图标,随着时间推移,技能遮罩顺时针减少遮挡面积,CD结束时,遮罩应完全消失。需求分析由于每个时刻,都会有一条线从中心点射向上面那条边的中点,我们自然可以想到将遮罩面片分为8个三角形。并且我们只
- 2024-01-142d物理引擎学习 - 解决接触面穿透问题
就是一个物体掉落到另一个物体表面时,相互穿透,部分区域发生了重叠: 原因现实世界,时间是连续的;但在计算机中,时间是离散的,帧与帧之间的时间间隔,没法保证两物体发生碰撞时,正好是表面刚接触。比如:物体1和物体2相距6米,大小均为1x1,物体1向右以10米/s速度移动,物体2静止,0.5s后物体
- 2024-01-132d物理引擎学习 - 斜坡上下滑的物体
效果 代码只是在之前的基础上增加了重力和摩擦力,重力的实现就是给物体加一个持续的力(即:Fg=m*g),摩擦力就是切线方向加一个修正冲量。 代码和之前的主要区别1) 刚体MyRigidbody增加一个Friction,摩擦系数属性2)MyRigidbody.PostSeperation中增加切线方向的冲量privat
- 2024-01-132d物理引擎学习 - 基于约束的公式解决接触稳定性问题
先看下直接用弹性碰撞的公式,会出现的问题:Box落在地面上后,没有停在地面上,而是还在不断的下沉。弹性碰撞公式处理碰撞后弹开没有大问题,但是处理物体碰撞后的接触存在不稳定问题。 如何解决?目前物理引擎最主流的解决方法是:基于约束来组织物理公式,而不是直接套用物理公式。什
- 2023-12-25Unity引擎2D游戏开发,撞墙判定和等候计时
撞墙判定将野猪绑定PhysicsCheck脚本,并将GroundLayer选中Ground,调整ButtonOffset到脚边,CheckRadius为0.1,即可判定悬崖physicsCheck脚本中添加一些变量,用于墙壁判定逻辑publicbooltouchLeftWall;publicbooltouchRightWall;publicVector2leftOffset;publicVecto
- 2023-12-21线段上离p最近的点 - 投影方式
点到线段的最近距离判断依据1)投影结果<0,则线段端点a离p最近2)投影结果>线段ab的长度,则线段端点b离p最近3)否则p在线段上的垂点为最近点 p与ab不共线时1)p在线段两侧2-a)p在线段内侧2-b)p在线段内侧2 p与ab共线时1) p在线段两侧 2-a)p在线段内侧2-b