物理
文章平均质量分 63
萧然CS
喜欢玩游戏,更喜欢做游戏
展开
-
【Unity】角色沿着地形边缘滑行效果实现
如图,游戏角色在地形的边缘,且沿移动方向(蓝色Z轴方向)继续移动将要掉落地形时,控制角色沿着地形边缘滑行移动,而不是让角色直接停在原地(这样处理游戏体验极差)。using System.Collections;using System.Collections.Generic;using UnityEngine;public class Player : MonoBehaviour{ private Rigidbody roleRigidbody; private int ..原创 2021-05-29 18:18:56 · 1477 阅读 · 1 评论 -
【Unity】物理系统的静态碰撞体、刚体碰撞体、Kinematic刚体碰撞体
碰撞体分为三类(触发器同理):静态碰撞体、刚体碰撞体、Kinematic刚体碰撞体。静态碰撞体:不挂载刚体组件的碰撞体常用于地形、障碍物等不会移动位置的物体,物理引擎会对此优化性能。在游戏运行时,不应当改变静态碰撞体的enabled选项或移动、缩放碰撞体,否则会给物理引擎带来额外的计算工作量,导致性能显著下降。刚体碰撞体:挂载了刚体组件(非Kinematic)的碰撞体物理引擎会一直模拟计算刚体碰撞体的物理状态,会对碰撞以及施加的力做出反应。Kinematic刚体碰撞体:挂载了刚体组件且刚原创 2020-07-23 21:57:24 · 5903 阅读 · 0 评论 -
【Unity】OnCollisionEnter、OnTriggerEnter与其子物体的联系
碰撞器:OnCollisionEnter触发器:OnTriggerEnter条件:至少有一个物体有Rigidbody刚体组件,两个物体都要有Collider碰撞器组件一、简单测试OnCollisionEnter和OnTriggerEnter在场景创建Cube和Sphere,添加Rigidbody和Collider组件,并挂载脚本监听“void OnCollisionEnter...原创 2019-10-30 15:18:12 · 14358 阅读 · 4 评论 -
【Unity】根据LineRenderer形状给物体添加PolygonCollider2D碰撞体
如图,在实时的绘制完成LineRenderer之后,会动态的添加PolygonCollider2D多边形碰撞体。读取LineRenderer的点位(一条折线),左右各便宜一定距离,形成一个闭合的线框,利用线框的点位修改PolygonCollider2D形状。using System.Collections.Generic;using UnityEngine;public cla...原创 2018-12-04 23:24:37 · 4228 阅读 · 5 评论 -
【Unity】预计算刚体运动轨迹
像以前玩过的TNT、弹弹岛、百战天虫这样的游戏,都会有一个弹道路线提示,而通过施加力或速度,可以控制刚体移动,刚好前段时间在商店看到一个插件(脚本),可以通过刚体信息、速度、受力等信息,计算出刚提的运动轨迹,与刚体实际运动轨迹完全相符(计算方式可能与Unity物理引擎计算方式类似或相同),可以实现预计算弹道轨迹等功能。免费插件链接:Calculate Trajectoryhttp...原创 2018-11-30 23:11:29 · 3184 阅读 · 1 评论 -
【Unity】LineRenderer模拟橡皮筋弹跳效果
LineRenderer模拟橡皮筋弹跳的物理现象,手拖拽橡皮筋然后松开,橡皮筋会来回跳动,并最终静止在原位置,主要思路就是实时计算点的位置,给LineRenderer的点赋值,实现动态弹跳效果 代码里主要分了两步: 1. 从松开手的位置,回弹到原来位置 2. 然后开始来回跳动,调动幅度越来越小,直到停止不动该Demo里没有添加手拖拽皮筋的代码,如果有需要可自行实现,仅需要在LineR...原创 2018-08-18 17:56:27 · 3029 阅读 · 4 评论 -
线段(向量)的计算(判断线段重叠、相交,合并线段,点与线的关系)
主要内容:判断两线段是否相交计算两线段的交叉点点与直线的位置关系判断两线段重合并计算其重合部分判断合并两条线段说明全都在注释里了,有的方法可能不是最佳,欢迎大家提出建议~~public class Line : MonoBehaviour { Vector2 impossiblePoint = -1000 * Vector2.one; // ------...原创 2018-08-14 20:31:20 · 10911 阅读 · 0 评论 -
【Unity】代码创建网格和2D多边形碰撞体
主要实现四个功能:1.利用PolygonCollider2D碰撞体创建Mesh网格2.利用Mesh网格创建单一PolygonCollider2D碰撞体3.利用Mesh网格创建复合PolygonCollider2D碰撞体4.根据Mesh网格大小形状计算刚体质量通过Mesh与PolygonCollider2D的数据转化,完成创建,注释有详细说明:using System....原创 2018-12-06 21:09:59 · 2308 阅读 · 0 评论