【GoDot】(3.5.2版本)实现3D物体的边缘高亮效果(超详细步骤)

前言

一、使用材质实现

1.实现步骤

        1.1创建Godot项目

        1.2实现高亮效果

        2.使用材质来设置高亮效果的缺点

二、使用创建轮廓网格的方式实现

1.实现步骤

        1.1实现高亮效果

        1.2缺点

三、实现鼠标移进物体时物体高亮,移出时高亮消失

1.创建三角网格静态实体

2.编写脚本连接信号

3.添加摄像机


前言

本片文章介绍如何使用GoDOt引擎来实现3D物体的边缘高亮效果

一、使用材质实现

1.实现步骤

        1.1创建Godot项目

点击新建项目,创建Godot项目

选择工程路径,并点击创建

点击创建一个3D场景

        1.2实现高亮效果

首先我们使用一个球体与一个正方体实现高亮效果

右键Spatial节点创建一个MeshInstance节点

为MeshInstance节点添加一个Mesh,选择球体

在检查器Material再添加一个新的材质,随后点击展开

再展开面板中再创建一个新的材质

点击展开Flags,启用Unshaded

展开Parameter将Cull Mode属性设置为Front,启用Grow,设置Grow Amount的值即可出现高亮效果


 

        2.使用材质来设置高亮效果的缺点

 按照设置球体的方式来设置一个正方体的高亮效果

效果如下:

我们会发现,使用正方体时,正方体边缘的连接处会出现断开的现象,这个问题在godot3.5.2版本还没有直接使用材质来解决,我们可以将模型导入到其他的3D软件,将模型边缘进行平滑处理即可。

如下是未进行平滑处理与进行平滑处理加入高亮的效果对比

二、使用创建轮廓网格的方式实现

1.实现步骤

        1.1实现高亮效果

首先在场景中加入一个正方体

点击网格,选择创建轮廓网格,设置边缘厚度,点击创建过后我们会发现MeshInstance下会新生成一个MeshInstance

然后我们发现已经出现轮廓,但是没有颜色,我们需要为新生成的MeshInstance添加一个材质,并启用Unshaded,会发现高亮效果完成

        1.2缺点

这种方式实现物体高亮效果的缺点是,边缘厚度设置完成后,不能再进行设置,如果想要设置,需要重新添加轮廓网格。

三、实现鼠标移进物体时物体高亮,移出时高亮消失

1.创建三角网格静态实体

首先为高亮物体创建三角网格静态实体,创建过后目录如下

2.编写脚本连接信号

为跟节点创建一个脚本        

在脚本中添加如下两个方法

public void OnStaticBodyMouseEntered()
{
    var meshInstance = GetNode<MeshInstance>("MeshInstance2/MeshInstance");
    meshInstance.Visible = true;
}
public void OnStaticBodyMouseExited()
{
    var meshInstance = GetNode<MeshInstance>("MeshInstance2/MeshInstance");
    meshInstance.Visible = false;
}

 使用CollisonObject的这两个信号来实现,鼠标拖入时高亮,脱离时高亮消失,将两个信号分别连接两个方法

初始状态下隐藏物体的高亮效果

3.添加摄像机

在根节点下创建一个摄像机

编辑器视角对准想要操作的物体后,可以使用快捷键control+alt+F将旋转与视角对齐 ,使用快捷键control+alt+M将变换与视角对齐即可校准摄像机位置。

也可以点击摄像机后,按如下操作进行设置。

设置完成后保存运行,实现鼠标移进物体时物体高亮,移出时高亮消失的效果。

 

  • 6
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值