雪千渔Blog

  • 首页
  • Coding
    • dotNet
    • C++
    • Lua
    • Visual Basic
    • Java
    • Android
    • Web
  • DCC
    • Maya
    • Maya-Plug
    • AfterEffect
    • AfterEffect-Plug
    • PhotoShop-Plug
  • GameDev
    • Unity3D
    • UnrealEngine
    • 经验杂谈
    • 游戏设计
    • 自研引擎
    • 效果实现
  • Graphics
    • OpenGL
    • Vulkan
    • 计算机图形学
  • 其他
    • 乱七八糟
    • 软件工具
    • 留言板
    • 自制素材
    • 关于我
雪千渔blog
唯有热爱,能抵漫长岁月
  1. 首页
  2. GameDev
  3. 效果实现
  4. 正文

游戏的曲型地面效果

2021年1月2日 619点热度 1人点赞 0条评论

这类特效在游戏中经常看到,比如地铁跑酷等,可以在一个看起来类似坡道的地方运动,远处视野受限,将在两方快要交汇在顶点时才可视,增加难度与不一样的视觉体验。

原理:

因为是以摄像机为中心的地面效果,所以要在顶点经过MV变换后,在进行透视变换之前对顶点进行修改。

使用一个_Value作为控制修改的控制参数

Properties
{
    _Color("Color", Color) = (1.0, 1.0, 1.0, 1.0)
    _MainTex("Main Tex", 2D) = "white" {}
    _Value ("_Value", Range(0,1)) = 0.0
}

先执行MV变换,然后对顶点进行操作,在进行P变换。其中在view变换后对算出参数对z的影响后,使用抛物线*y轴单位向量,如果是地面下沉,则用减法。

v2f vert(a2v v) 
{
    float4 pos = v.vertex;
    //transform
    pos = mul(UNITY_MATRIX_MV, pos);

    float zOff = pos.z * _Value;
    pos -= float4(0, 1, 0, 0) * zOff * zOff;

    pos = mul(UNITY_MATRIX_P, pos);

    ...
}

原场景

通过调节_Value参数来修改影响

z轴地面下沉,因为以摄像机为中心变换,所以往哪走都是上坡。

在增加一个x轴

v2f vert(a2v v) 
{
    float4 pos = v.vertex;
    //transform
    pos = mul(UNITY_MATRIX_MV, pos);

    float zOff = pos.z * _Value;
    float xOff = pos.x * _Value;
    pos -= float4(0, 1, 0, 0) * zOff * zOff;
    pos -= float4(0, 1, 0, 0) * xOff * xOff;
    pos = mul(UNITY_MATRIX_P, pos);

    ...
}

效果:


本作品采用 知识共享署名 4.0 国际许可协议 进行许可
标签: 暂无
最后更新:2022年1月11日

JomiXedYu

独游开发者 & 技术美术

点赞
下一篇 >

文章评论

razz evil exclaim smile redface biggrin eek confused idea lol mad twisted rolleyes wink cool arrow neutral cry mrgreen drooling persevering
取消回复

JomiXedYu

独游开发者 & 技术美术

最新 热点 随机
最新 热点 随机
HLSL对Vulkan的适应性以及伪语义绑定 GPU呈现模式与垂直空白 自研引擎PulsarEngine的Shader编译流程 UE材质Custom节点与HLSL的HACK操作 UE5出现D3D12崩溃报错解决方案 游戏引擎脚本绑定的三种写法与利弊
HLSL对Vulkan的适应性以及伪语义绑定
通过cmdline-tools安装安卓SDK组件 GPU呈现模式与垂直空白 C#与C/C++动态链接库交互踩坑总结 Discuz数据库迁移所需更改文件Apache更改端口 VB6用注册表检测.Net Framework版本是否存在 游戏引擎脚本绑定的三种写法与利弊
友情链接
  • DorinXL
  • 小博博客
  • 秋橘斋

COPYRIGHT © 2014-2023 雪千渔Blog. ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang

辽ICP备20006894号-1