找回密码
 立即注册
查看: 206|回复: 0

unreal engine 渐变围栏制作和本人强迫症给他转换为伪代码通俗易懂

[复制链接]
发表于 2022-12-29 16:29 | 显示全部楼层 |阅读模式

image.png

新建actor 编辑actor

image.png

添加样条线组件Spline

image.png

新建材质M_Region_Gradient
打开材质 修改 混合模式为半透明

image.png

新建VectorParamter ->连接到自发光

textCoord->CompoentMask(只勾选R通道)->(1-)(OneMinus)
拦截到不透明度

1-x代表反向,

image.png

actor 设置蓝图如下

image.png

蓝图有点绕,
老夫用脑壳把他伪代码转换一下 简洁易懂
至于用的啥代码, 我认为是dart语言吧或者c#吧,dart支持参数命名可视化简单易懂,方法名中文嘛,这个ue本来支持,叫啥英文我反而是忘记了
在actor内部构造函数触发后执行如下代码
int count=this.spline.获取样条点数量()for(int i=0;i<count-1;i++){   int start=i;  int end=i+1;  var 组件=this.添加样条网格体组件() var Newmash=加载资源("/Script/Engine.StaticMesh/Engine/BasicShapes/Plane.Plane")  组件.设置静态网格体(Newmash:Newmash)  组件.设置向前轴(forwardAxis:Axis.Y,updateMesh:true)  var 材质=载入材质("/Game/DigitalTwin/Material/M_Region_Graient.M_Region_Graient")  var 材质实例=组件.创建动态材质实例(elementIndex:0,SourceMaterial:材质)//这里的Color等于材质里面参数vector重命名的Color 类型为线性颜色//this.color等于actor可编辑蓝图实例的公开传递的参数  材质实例.设置向量参数值(ParamterName="Color",value=this.Color)  组件.将组件附加到组件(Parent=this.spline)  var startTargent= this.spline.获取样条点的位置和切线(i)  var endTargent=this.spline.获取样条点的位置和切线(i+1)  组件.设置起始和结束(startPos:start, startTargent:startTargent, endPos:end, endTargent:endTargent)}

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Unity开发者联盟 ( 粤ICP备20003399号 )

GMT+8, 2024-5-5 13:08 , Processed in 0.370200 second(s), 26 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表