首页 > 其他分享 >Cinemachine系列——CinemachineSmoothPath&Body Tracked Dolly

Cinemachine系列——CinemachineSmoothPath&Body Tracked Dolly

时间:2024-10-24 14:33:25浏览次数:9  
标签:Body Tracked 平滑 路径 摄像机 Dolly Cinemachine 航点

image
今天来看下我感觉比较有意思的功能,将摄像机像电影一样固定在一条轨道上进行拍摄。通过Package Manager导入Cinemachine插件,在导入Cinemachine Sample后,我们可以在Assets文件夹下Cinemachine/2.6.17(这个是你下载的cinemachine版本号)/Cinemachine Example Scenes/Scenes/Tracked Dolly/Dolly Auto中看具体的Demo。
关键仅用到一个组件——CinemachineSmoothPath

CinemachineSmoothPath

image
Cinemachine平滑路径是一个组件,用于定义一个世界空间中的路径,由一系列航点(waypoints)组成。每个航点都有位置和滚转设置。Cinemachine使用贝塞尔插值法来计算航点之间的位置,从而获得一个平滑连续的路径。路径将通过所有航点。

主要要点:
航点设置:每个航点的设置包括位置和滚转,这样可以在路径上精确控制摄像机的移动和朝向。

贝塞尔插值:通过贝塞尔插值,Cinemachine能够在航点之间生成平滑的运动轨迹,避免突兀的转变。

平滑和连续性:与Cinemachine路径不同,平滑路径保证了一阶和二阶的连续性,这意味着沿着路径移动的对象不仅位置变化平滑,其角速度(转向变化速度)也会是连续的。

应用场景:这种平滑的路径设置适合于需要流畅移动的摄像机动画,特别是在复杂场景中,可以提升视觉体验。

通过使用Cinemachine平滑路径,用户能够创建更自然和流畅的摄像机移动效果,增强整体的视觉表现。

Resolution

每个航点的路径采样数”是指Cinemachine在计算路径距离时使用的一个值。

主要要点:
路径采样:该值决定了在每个航点之间进行多少次采样,以生成更精确的路径。这意味着摄像机在移动时可以更细致地控制其轨迹。

距离计算:Cinemachine使用这个采样数来计算航点之间的距离,从而确保摄像机沿路径平滑移动。采样次数越多,路径的平滑度和精确度就越高。

影响性能:较高的采样数可能会增加计算量,因此在设置时需要权衡路径的平滑性和性能消耗。

通过合理设置每个航点的路径采样数,用户可以实现更流畅的摄像机移动,同时保持性能的平衡。

Appearance

  • Path Color:被选中时的颜色
  • Inactive Path Color:未被选中时的颜色
  • Width:轨道宽度

Looped

如果选中此选项,则路径的起点和终点将连接在一起,形成一个连续的循环。

主要要点:
路径连接:启用这一选项后,路径的末端将与起始点相连,摄像机在沿路径移动时会不断循环。

循环效果:这种设置适用于需要重复运动的场景,例如环形轨道或需要持续循环的动画,能够确保摄像机平滑无缝地回到起始位置。

应用场景:在一些游戏或动画中,连续循环的路径可以提供更流畅的视觉体验,尤其是在需要不断跟随某个对象或场景时。

通过使用这一选项,用户可以创建更具连贯性的摄像机移动效果,使得视觉表现更加自然和流畅。

Waypoints

这是定义路径的航点列表,这些航点通过贝塞尔曲线进行插值。

  • positon:位置
  • roll:这指定了在该航点处路径的滚转角度。其他方向轴的方向是通过切线和世界坐标系的“上”方向推导出来的。

Body Tracked Dolly

VirtualCamera中的Body功能同样也要改成Tracked Dolly,以下是Tracked Dolly的介绍。

标签:Body,Tracked,平滑,路径,摄像机,Dolly,Cinemachine,航点
From: https://www.cnblogs.com/chenxiayun/p/18499521

相关文章

  • Gin框架,body参数只能读取一次
     typeValidateDatastruct{ model.User Namestring`json:"name"validate:"required"`//非空 Ageuint8`json:"age"validate:"gte=0,lte=100"`//0<=type<=100 Email......
  • The instance of entity type 'xxx' cannot be tracked because another instance wit
    发生的原因,在CheckProductionCode()方法中根据主键id查询对象时没有使用AsNoTracking(),示例:_db.Productions.AsNoTracking()那么EF会把查询出的对象缓存并跟踪对象状态,之后再Update的时候就会查询现有已跟踪的对象,发现已经存在一个相同主键的对象,所以报错。///<summary>///......
  • 过滤器拦截器拦截了request后,controller的@RequestBody 无法获取request内容,报错 Requ
    SpringMVC的拦截器、过滤器、Controller之间的关系 众所周知所有的post请求中的body参数是已流形式存在的,而流数据只能读取一次(为啥看这里),如果在拦截器和过滤器中需要对post参数进行处理的话,就会报Requiredrequestbodyismissing异常。既然知道原因,那只要能将流保存起来......
  • golang从http请求中读取xml格式的body,并转成json
    推荐学习文档golang应用级os框架,欢迎stargolang应用级os框架使用案例,欢迎star案例:基于golang开发的一款超有个性的旅游计划app经历golang实战大纲golang优秀开发常用开源库汇总想学习更多golang知识,这里有免费的golang学习笔记专栏文章目录以下是在Go语言中从HTT......
  • postman的post方法中Body项里,none,form-data,x-www-form-urlencoded,raw,binary,Grap
    目录1.None2.form-data3.x-www-form-urlencoded4.raw5.binary6.GraphQL总结在Postman中,使用POST方式时,Body项中有几种不同的数据传输方式可供选择,它们之间的主要区别在于数据的格式和编码方式。以下是每种类型的详细解释:1.None描述:不发送请求体(body)。用途:如果你......
  • NoBodyPro AI短剧革新未来
        在数字时代,AI技术的飞速发展正引领着各行各业进行深刻的变革。而今天,我们要介绍的是一个令人兴奋的项目——NoBodyPro,它巧妙地将AI技术融入短剧社交领域,打造了一个前所未有的互动体验平台。一、AI赋能短剧社交:NoBodyPro的创新之路    NoBodyPro,作为一个新型的A......
  • post请求的body数据类型和content-type的关系
    背景:登陆接口的类型是post,request接口的content-type是multipart/form-data;boundary=----WebKitFormBoundaryxeYAwSy6FSo4kow9response接口的content-type是application/json;charset=utf-8接口的请求体在编写python脚本时post接口的请求头content-type定义了类型multipar......
  • HTML讲解(一)body部分
    目录1.什么是HTML 2.HTML基本框架3.标题声明4.修改标题位置5.段落声明6.修改段落位置7.超链接访问8.图像访问9.改变网页背景及文本颜色10.添加网页背景图11.超链接改变颜色12.设置网页边距小心!VS2022不可直接接触,否则!没这个必要,方源面色淡然一把抓住!顷刻炼化!......
  • 轻松构建RESTful API:Spring @ResponseBody注解全攻略,有两下子!
    ......
  • 导入数据至数据集时报错Meta endpoint! Unexpected status code: 502, with response
    我的dify服务器是在内网环境,首先它需要通过代理去调用LLM,但打开代理后调用difyweaviate服务会报错:Metaendpoint!Unexpectedstatuscode:502,withresponsebody:None.所以,需要做的是:既要在调用LLM的时候走代理,又要调用difyweaviate服务的时候不走代理。配置如下:di......