Unity 2D让相机跟随角色移动

相机跟随移动

最简单的方式通过插件Cinemachine

在窗口/包管理器选择全部找到**Cinemachine,导入。**然后在游戏对象/Cinemachine创建2D Camera。此时层级中创建一个2D相机。选中人物拖入检查器Follow。此时相机跟随人物移动。

修改相机视口距离

在检查器中Lens下调正Ortho Size即可。

阻止相机超出边界

在Virtual Camer检查器中点击Add Extenison选择Cinemachine Confiner组件,在层级中创建一个新的游戏对象命名为GameConfiner添加Polygon Collider 2D组件,此时场景中会出现一个多边形拖拽线将场景包围。

在层级中选中Virtual Camera将GameConfiner拖拽到Cinemachine Confiner组件Bounding Shape 2D选项上。

运行会发现人物被挤到场景外面了,此时在Polygon Collider 2D下将是触发器选中。

阻止人物越过水面

在层级中点击Tilemap,在检查器中添加Tilemap Collider 2D组件,此时就会给地图所有精灵添加对撞机,人物将不能移动。

在Tiles文件夹下选中素材,检查器会展示相关信息碰撞类型默认是精灵,此时只需将可移动素材碰撞类型改为无即可。

在Tilemap添加Composite Collider 2D组件可提升性能会将同一区域的对撞机合并为一个,Tilemap Collider 2D下选中由复合使用。此时会自动添加一个Rigidbody 2D组件。在运行时人物移动你会发现一个问题,地图素材会受重力影响偏移,此时需将Rigidbody 2D下的身体类型选为静态的。

相关推荐
淡海水10 小时前
15-02-YooAsset面试篇-Unity架构设计与源码
java·unity·面试·c#·游戏引擎·yooasset
郝学胜-神的一滴16 小时前
中级OpenGL教程 030:gl_FragCoord解锁区域渲染与深度可视化新姿势
c++·unity·游戏引擎·图形渲染·unreal engine·opengl
ellis197016 小时前
u3d插件xLua[四]Lua访问C#源码分析,反射,生成代码
unity
2401_8949155320 小时前
GEO 定位优化源码搭建常见报错排查:数据库、伪静态、接口调试
java·数据库·网络协议·tcp/ip·spring·unity
xcLeigh2 天前
Unity基础:C#脚本的创建与挂载——让你的游戏物体活起来
游戏·unity·c#·教程
DaLiangChen2 天前
Vuforia 地面识别案例
unity·ar
江畔柳前堤3 天前
YOLO 目标检测全流程深度剖析
人工智能·yolo·目标检测·计算机视觉·unity·面试·vllm