unreal engine 渐变围栏制作和本人强迫症给他转换为伪代码通俗易懂
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)}
页:
[1]