Git Product home page Git Product logo

leahlee13 / unitycamerasystem_cc Goto Github PK

View Code? Open in Web Editor NEW
91.0 2.0 26.0 99.46 MB

基于Cinemachine的第一/三人称过肩/自由/斜45度/俯视角摄像机系统(本摄像机系统基于Cinemachine的Virtual Camara实现,实现了锁定、旋转、缩放、移动、鼠标显示/隐藏、摄像机位置复位、限制摄像机角度、动态挂载跟随目标、切换视角、遮挡透视等功能,并自带摄像机碰撞,防止穿墙)

C# 91.10% ShaderLab 8.90%

unitycamerasystem_cc's Introduction

UnityCameraSystem_CC

介绍

基于Cinemachine的第一/三人称过肩/自由/斜45度/俯视角摄像机系统 本摄像机系统基于Cinemachine的Virtual Camara实现,实现了锁定、旋转、缩放、移动、鼠标显示/隐藏、摄像机位置复位、限制摄像机角度、动态挂载跟随目标、切换视角、遮挡透视等功能,并自带摄像机碰撞,防止穿墙。

软件架构

Unity 2020.3.33f1c2 Cinemachine(插件) Input System(插件)

使用说明

详见文档

参与贡献

月羽衔蝉(B站)

特技

Cinemachine是Unity中一款强大的摄像机插件,可以无需代码实现一些复杂的效果,也支持通过脚本扩展更复杂的效果,上手简单,Unity2017以上版本都可以使用。 与Camera不同的是,虚拟相机不是真正的相机,不挂载Camera组件,只是一些数据,本质上是相机行为的配置文件,来控制真实相机参数,因此必须搭配一个Camera对象才能渲染画面,故性能消耗要比创建多个真实相机小很多。 本摄像机系统基于Cinemachine的Virtual Camara实现,实现了锁定、旋转、缩放、移动、鼠标显示/隐藏、摄像机位置复位、限制摄像机角度、动态挂载跟随目标、切换视角、遮挡透视等功能,并自带摄像机碰撞,防止穿墙。 相机锁定包含仅水平、仅垂直方向锁定。 相机旋转可由鼠标左键按下移动控制,也可直接移动鼠标控制。 相机缩放可由鼠标滚轮控制,但滚轮控制相对不够流畅,故也设置为鼠标Y轴,即上下移动鼠标控制缩放。 相机移动可由鼠标中键/右键按下移动控制。 玩家可通过相对灵活多变的控制方式,更自由的探索游戏场景。对于喜爱录制二创剧情的玩家,可以更方便的进行运镜,制作出自己的“大片”。 本系统提供了五种视角切换,第一人称、自由视角需要通过鼠标控制摄像机方向,进而控制角色移动方向;第三人称过肩视角通过A、D键控制旋转,鼠标仅可以上下移动视角;斜45度视角及俯视角为固定视角,不可移动,斜45度视角会自适应视角,无需鼠标控制;俯视角在角色被遮挡时,会将遮挡物材质替换为透明材质。 本案例摄像机系统对渲染管线没有要求,可升级到URP或HDRP渲染管线。 本案例摄像机系统基于PC端、旧输入系统开发,通过鼠标键盘进行控制,如需移植到其他平台,需要将相关输入修改为对应平台的输入。如果涉及到多平台发布,推荐替换为新输入系统,方便统一管理。案例中引入的官方最新角色控制器资源基于新输入系统开发,可以研究源码进行相关的学习,此文档不作详细说明。

相关按键: 注:按键可根据自己喜好进行替换。

摄像机相关按键: 第一人称、自由视角切换:V 第三人称过肩视角、自由视角切换:B 斜45度视角、自由视角切换:N 俯视角、自由视角切换:M 是否显示鼠标:0 锁定摄像机Y轴:9 锁定摄像机X轴:8 摄像机旋转控制:按下鼠标左键移动鼠标、或直接移动鼠标 是否由鼠标左键/右键控制摄像机旋转:右Ctrl 摄像机视野缩放:鼠标滚轮、或鼠标Y轴 鼠标滚轮/鼠标Y轴控制摄像机视野缩放切换:右Alt 摄像机移动:按下鼠标中键/右键移动鼠标 自由视角摄像机位置复位:P

CharacterController角色控制器相关按键: 角色奔跑:左Shift+WASD或左Shift+方向键 角色走路:WASD或方向键 角色跳跃:空格 角色旋转(仅第三人称过肩视角时):A、D或方向键左右

unitycamerasystem_cc's People

Contributors

leahlee13 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.