• News

• Industries

• Learning & Support

• Community

• Marketplace

# Screen size of a mesh

is this possible to get screen size of a mesh in blueprint ? i want to check if its bigger than screen size then lock my camera zoom.

thanks

any chance to use this value ? :

&stc=1&d=1441813020

I imagine you could do this, but likely with the use of c++.

You could get the extent bounds of an object, convert those to screen space, then find the length of the resulting 2D vector.

The simplest way is to get the bounding sphere, divide by the distance to the object, and multiply by a factor that depends on camera FOV.

approx_screen_percentage = bounding_sphere_radius / (distance_to_object * sin(fov_of_camera))

1 Like

is this possible to do that in blueprint ?

thanks a lot jwatte but i want to make that in blueprint if this possible

That is a math equation, not code. Each of those names/variables in the equation is pretty much a node or property you can get.

i got that , for those who have my question , here is the solution , first i make a distance macro to get distance between camera component to an actor location :

&stc=1&d=1441873857

then i use jwatte formula :

&stc=1&d=1441873865

thanks a lot jwatte

For the distance, all you need to do is subtract location 1 from location 2, and connect the result to a vector length node.

Anyone coming from the future: screen size is calculated by ComputeBoundsScreenSize() in SceneManagement.cpp. Itâ€™s not defined in the .h so youâ€™ll have to copy-paste it into your game code:

``````
float ComputeBoundsScreenSize(const FVector4& BoundsOrigin, const float SphereRadius, const FVector4& ViewOrigin, const FMatrix& ProjMatrix)
{
const float Dist = FVector::Dist(BoundsOrigin, ViewOrigin);

// Get projection multiple accounting for view scaling.
const float ScreenMultiple = FMath::Max(0.5f * ProjMatrix.M[0][0], 0.5f * ProjMatrix.M[1][1]);

// For clarity, we end up comparing the diameter
}

``````

Using @jwatte equation and some tweaking of the result (multiplying and power) I was able to come up with a somewhat material LOD function. I pass the Camera FOV variable to the material via Dynamic Material Instance on my base class and set up the material instance on begin play. My sample below includes if nodes for debugging to show various levels via colors so that I could adjust the multiply and power to get the results I wanted. I plan on multiplying the end result by a fresnel, as well as using LERP nodes to adjust the â€śexponetInâ€ť and â€śbasereflectfractioninâ€ť inputs to fresnel node dynamically based on objects screen size for a highlight effect that will brighten as object gets smaller.

Hope this helps someone elseâ€¦

Begin Object Class=/Script/UnrealEd.MaterialGraphNode Name=â€śMaterialGraphNode_864â€ť
Begin Object Class=/Script/Engine.MaterialExpressionIf Name=â€śMaterialExpressionIf_1â€ť
End Object
Begin Object Name=â€śMaterialExpressionIf_1â€ť
A=(Expression=MaterialExpressionRerouteâ€™â€śMaterialGraphNode_Knot_344.MaterialExpressionReroute_25â€ťâ€™)
B=(Expression=MaterialExpressionConstantâ€™â€śMaterialGraphNode_867.MaterialExpressionConstant_15â€ťâ€™)
AGreaterThanB=(Expression=MaterialExpressionIfâ€™â€śMaterialGraphNode_868.MaterialExpressionIf_2â€ťâ€™)
AEqualsB=(Expression=MaterialExpressionConstant3Vectorâ€™â€śMaterialGraphNode_866.MaterialExpressionConstant3Vector_1â€ťâ€™)
ALessThanB=(Expression=MaterialExpressionConstant3Vectorâ€™â€śMaterialGraphNode_866.MaterialExpressionConstant3Vector_1â€ťâ€™)
MaterialExpressionEditorX=-880
MaterialExpressionEditorY=1680
MaterialExpressionGuid=39A5A8384C38FC7E34580F81534C03CB
Material=PreviewMaterialâ€™"/Engine/Transient.MM_Cybran"â€™
End Object
MaterialExpression=MaterialExpressionIfâ€™â€śMaterialExpressionIf_1â€ťâ€™
NodePosX=-880
NodePosY=1680
ErrorType=1
ErrorMsg=â€śFailed to compile AGreaterThanB input.â€ť
NodeGuid=961D467244F494AF9C7A208EA1B26E1F
End Object
Begin Object Class=/Script/UnrealEd.MaterialGraphNode Name=â€śMaterialGraphNode_865â€ť
Begin Object Class=/Script/Engine.MaterialExpressionConstant3Vector Name=â€śMaterialExpressionConstant3Vector_0â€ť
End Object
Begin Object Name=â€śMaterialExpressionConstant3Vector_0â€ť
Constant=(R=1.000000,G=1.000000,B=0.000000,A=0.000000)
MaterialExpressionEditorX=-1568
MaterialExpressionEditorY=1936
MaterialExpressionGuid=51FF12FD4BAF42CBB2854DAA526D9064
Material=PreviewMaterialâ€™"/Engine/Transient.MM_Cybran"â€™
End Object
MaterialExpression=MaterialExpressionConstant3Vectorâ€™â€śMaterialExpressionConstant3Vector_0â€ťâ€™
NodePosX=-1568
NodePosY=1936
NodeGuid=FE7E635843E165D3D13F1287F2750B86
End Object
Begin Object Class=/Script/UnrealEd.MaterialGraphNode Name=â€śMaterialGraphNode_866â€ť
Begin Object Class=/Script/Engine.MaterialExpressionConstant3Vector Name=â€śMaterialExpressionConstant3Vector_1â€ť
End Object
Begin Object Name=â€śMaterialExpressionConstant3Vector_1â€ť
Constant=(R=1.000000,G=0.000000,B=0.000000,A=0.000000)
MaterialExpressionEditorX=-1024
MaterialExpressionEditorY=1824
MaterialExpressionGuid=638765D04561AC46A5C62BAC9AE7340A
Material=PreviewMaterialâ€™"/Engine/Transient.MM_Cybran"â€™
End Object
MaterialExpression=MaterialExpressionConstant3Vectorâ€™â€śMaterialExpressionConstant3Vector_1â€ťâ€™
NodePosX=-1024
NodePosY=1824
NodeGuid=22F68FFE41893693C0EAE192F1BC4C8A
End Object
Begin Object Class=/Script/UnrealEd.MaterialGraphNode Name=â€śMaterialGraphNode_867â€ť
Begin Object Class=/Script/Engine.MaterialExpressionConstant Name=â€śMaterialExpressionConstant_15â€ť
End Object
Begin Object Name=â€śMaterialExpressionConstant_15â€ť
R=0.050000
MaterialExpressionEditorX=-1008
MaterialExpressionEditorY=1712
MaterialExpressionGuid=B9ECD09A4C7FACA78E870DA789042E3A
Material=PreviewMaterialâ€™"/Engine/Transient.MM_Cybran"â€™
End Object
MaterialExpression=MaterialExpressionConstantâ€™â€śMaterialExpressionConstant_15â€ťâ€™
NodePosX=-1008
NodePosY=1712
NodeGuid=6198665F4311A696D33FAF87DBD5261E
End Object
Begin Object Class=/Script/UnrealEd.MaterialGraphNode Name=â€śMaterialGraphNode_868â€ť
Begin Object Class=/Script/Engine.MaterialExpressionIf Name=â€śMaterialExpressionIf_2â€ť
End Object
Begin Object Name=â€śMaterialExpressionIf_2â€ť
A=(Expression=MaterialExpressionRerouteâ€™â€śMaterialGraphNode_Knot_345.MaterialExpressionReroute_30â€ťâ€™)
B=(Expression=MaterialExpressionConstantâ€™â€śMaterialGraphNode_869.MaterialExpressionConstant_16â€ťâ€™)
AGreaterThanB=(Expression=MaterialExpressionIfâ€™â€śMaterialGraphNode_871.MaterialExpressionIf_3â€ťâ€™)
AEqualsB=(Expression=MaterialExpressionConstant3Vectorâ€™â€śMaterialGraphNode_870.MaterialExpressionConstant3Vector_2â€ťâ€™)
ALessThanB=(Expression=MaterialExpressionConstant3Vectorâ€™â€śMaterialGraphNode_870.MaterialExpressionConstant3Vector_2â€ťâ€™)
MaterialExpressionEditorX=-1136
MaterialExpressionEditorY=1760
MaterialExpressionGuid=DAB38F06463F742E298CC58F6A7DD304
Material=PreviewMaterialâ€™"/Engine/Transient.MM_Cybran"â€™
End Object
MaterialExpression=MaterialExpressionIfâ€™â€śMaterialExpressionIf_2â€ťâ€™
NodePosX=-1136
NodePosY=1760
ErrorType=1
ErrorMsg=â€śFailed to compile AGreaterThanB input.â€ť
NodeGuid=D66BD882497A5937178751B425BDDD1A
End Object
Begin Object Class=/Script/UnrealEd.MaterialGraphNode Name=â€śMaterialGraphNode_869â€ť
Begin Object Class=/Script/Engine.MaterialExpressionConstant Name=â€śMaterialExpressionConstant_16â€ť
End Object
Begin Object Name=â€śMaterialExpressionConstant_16â€ť
R=0.161000
MaterialExpressionEditorX=-1280
MaterialExpressionEditorY=1776
MaterialExpressionGuid=5BDE574D43A66C05B2526EA26F042585
Material=PreviewMaterialâ€™"/Engine/Transient.MM_Cybran"â€™
End Object
MaterialExpression=MaterialExpressionConstantâ€™â€śMaterialExpressionConstant_16â€ťâ€™
NodePosX=-1280
NodePosY=1776
NodeGuid=194BDD4740D334A760922F96567ECA45
End Object
Begin Object Class=/Script/UnrealEd.MaterialGraphNode Name=â€śMaterialGraphNode_870â€ť
Begin Object Class=/Script/Engine.MaterialExpressionConstant3Vector Name=â€śMaterialExpressionConstant3Vector_2â€ť
End Object
Begin Object Name=â€śMaterialExpressionConstant3Vector_2â€ť
Constant=(R=1.000000,G=0.250000,B=0.000000,A=0.000000)
MaterialExpressionEditorX=-1296
MaterialExpressionEditorY=1872
MaterialExpressionGuid=BE2978734A085104782348BEDF146F69
Material=PreviewMaterialâ€™"/Engine/Transient.MM_Cybran"â€™
End Object
MaterialExpression=MaterialExpressionConstant3Vectorâ€™â€śMaterialExpressionConstant3Vector_2â€ťâ€™
NodePosX=-1296
NodePosY=1872
NodeGuid=A90989FF4EE5C080B75C75B1F0F816A7
End Object
Begin Object Class=/Script/UnrealEd.MaterialGraphNode_Knot Name=â€śMaterialGraphNode_Knot_344â€ť
Begin Object Class=/Script/Engine.MaterialExpressionReroute Name=â€śMaterialExpressionReroute_25â€ť
End Object
Begin Object Name=â€śMaterialExpressionReroute_25â€ť
Input=(Expression=MaterialExpressionRerouteâ€™â€śMaterialGraphNode_Knot_345.MaterialExpressionReroute_30â€ťâ€™)
MaterialExpressionEditorX=-1024
MaterialExpressionEditorY=1696
MaterialExpressionGuid=09B341A04AC238753EE82CA6B7598610
Material=PreviewMaterialâ€™"/Engine/Transient.MM_Cybran"â€™
End Object
MaterialExpression=MaterialExpressionRerouteâ€™â€śMaterialExpressionReroute_25â€ťâ€™
NodePosX=-1024
NodePosY=1696
bCanRenameNode=False
NodeGuid=6EA8995B4903CCBB2A78E6B38FA70CAB
End Object
Begin Object Class=/Script/UnrealEd.MaterialGraphNode_Knot Name=â€śMaterialGraphNode_Knot_345â€ť
Begin Object Class=/Script/Engine.MaterialExpressionReroute Name=â€śMaterialExpressionReroute_30â€ť
End Object
Begin Object Name=â€śMaterialExpressionReroute_30â€ť
Input=(Expression=MaterialExpressionRerouteâ€™â€śMaterialGraphNode_Knot_346.MaterialExpressionReroute_33â€ťâ€™)
MaterialExpressionEditorX=-1328
MaterialExpressionEditorY=1696
MaterialExpressionGuid=47A8DDFC4A1A6184E055FFA565611EC9
Material=PreviewMaterialâ€™"/Engine/Transient.MM_Cybran"â€™
End Object
MaterialExpression=MaterialExpressionRerouteâ€™â€śMaterialExpressionReroute_30â€ťâ€™
NodePosX=-1328
NodePosY=1696
bCanRenameNode=False
NodeGuid=844A4914409D339358CD02A93F4F0B1B
End Object
Begin Object Class=/Script/UnrealEd.MaterialGraphNode Name=â€śMaterialGraphNode_871â€ť
Begin Object Class=/Script/Engine.MaterialExpressionIf Name=â€śMaterialExpressionIf_3â€ť
End Object
Begin Object Name=â€śMaterialExpressionIf_3â€ť
A=(Expression=MaterialExpressionRerouteâ€™â€śMaterialGraphNode_Knot_346.MaterialExpressionReroute_33â€ťâ€™)
B=(Expression=MaterialExpressionConstantâ€™â€śMaterialGraphNode_872.MaterialExpressionConstant_18â€ťâ€™)
AGreaterThanB=(Expression=MaterialExpressionIfâ€™â€śMaterialGraphNode_873.MaterialExpressionIf_5â€ťâ€™)
AEqualsB=(Expression=MaterialExpressionConstant3Vectorâ€™â€śMaterialGraphNode_865.MaterialExpressionConstant3Vector_0â€ťâ€™)
ALessThanB=(Expression=MaterialExpressionConstant3Vectorâ€™â€śMaterialGraphNode_865.MaterialExpressionConstant3Vector_0â€ťâ€™)
MaterialExpressionEditorX=-1408
MaterialExpressionEditorY=1808
MaterialExpressionGuid=43F20694422F0E062090ABA80C26CA78
Material=PreviewMaterialâ€™"/Engine/Transient.MM_Cybran"â€™
End Object
MaterialExpression=MaterialExpressionIfâ€™â€śMaterialExpressionIf_3â€ťâ€™
NodePosX=-1408
NodePosY=1808
ErrorType=1
ErrorMsg=â€śFailed to compile AGreaterThanB input.â€ť
NodeGuid=2937985C4E92918107E443A09D31FA98
End Object
Begin Object Class=/Script/UnrealEd.MaterialGraphNode Name=â€śMaterialGraphNode_872â€ť
Begin Object Class=/Script/Engine.MaterialExpressionConstant Name=â€śMaterialExpressionConstant_18â€ť
End Object
Begin Object Name=â€śMaterialExpressionConstant_18â€ť
R=0.272000
MaterialExpressionEditorX=-1536
MaterialExpressionEditorY=1840
MaterialExpressionGuid=F3A27DA443280307CC40DFBF26409330
Material=PreviewMaterialâ€™"/Engine/Transient.MM_Cybran"â€™
End Object
MaterialExpression=MaterialExpressionConstantâ€™â€śMaterialExpressionConstant_18â€ťâ€™
NodePosX=-1536
NodePosY=1840
NodeGuid=0509CA3C43A2A78467A31DBC38042054
End Object
Begin Object Class=/Script/UnrealEd.MaterialGraphNode_Knot Name=â€śMaterialGraphNode_Knot_346â€ť
Begin Object Class=/Script/Engine.MaterialExpressionReroute Name=â€śMaterialExpressionReroute_33â€ť
End Object
Begin Object Name=â€śMaterialExpressionReroute_33â€ť
Input=(Expression=MaterialExpressionRerouteâ€™â€śMaterialGraphNode_Knot_347.MaterialExpressionReroute_38â€ťâ€™)
MaterialExpressionEditorX=-1648
MaterialExpressionEditorY=1696
MaterialExpressionGuid=30541350400E43A5DD81A695C52AF1B9
Material=PreviewMaterialâ€™"/Engine/Transient.MM_Cybran"â€™
End Object
MaterialExpression=MaterialExpressionRerouteâ€™â€śMaterialExpressionReroute_33â€ťâ€™
NodePosX=-1648
NodePosY=1696
bCanRenameNode=False
NodeGuid=1F2F261B45C967386EEE8DB0FC24DAF1
End Object
Begin Object Class=/Script/UnrealEd.MaterialGraphNode Name=â€śMaterialGraphNode_873â€ť
Begin Object Class=/Script/Engine.MaterialExpressionIf Name=â€śMaterialExpressionIf_5â€ť
End Object
Begin Object Name=â€śMaterialExpressionIf_5â€ť
A=(Expression=MaterialExpressionRerouteâ€™â€śMaterialGraphNode_Knot_347.MaterialExpressionReroute_38â€ťâ€™)
B=(Expression=MaterialExpressionConstantâ€™â€śMaterialGraphNode_874.MaterialExpressionConstant_19â€ťâ€™)
AGreaterThanB=(Expression=MaterialExpressionIfâ€™â€śMaterialGraphNode_901.MaterialExpressionIf_7â€ťâ€™)
AEqualsB=(Expression=MaterialExpressionConstant3Vectorâ€™â€śMaterialGraphNode_875.MaterialExpressionConstant3Vector_3â€ťâ€™)
ALessThanB=(Expression=MaterialExpressionConstant3Vectorâ€™â€śMaterialGraphNode_875.MaterialExpressionConstant3Vector_3â€ťâ€™)
MaterialExpressionEditorX=-1680
MaterialExpressionEditorY=1872
MaterialExpressionGuid=B842545F4E37C865F1FF76922E2499FA
Material=PreviewMaterialâ€™"/Engine/Transient.MM_Cybran"â€™
End Object
MaterialExpression=MaterialExpressionIfâ€™â€śMaterialExpressionIf_5â€ťâ€™
NodePosX=-1680
NodePosY=1872
ErrorType=1
ErrorMsg=â€śFailed to compile AGreaterThanB input.â€ť
NodeGuid=B7450D9D4BE0040FBD09A38A7C634163
End Object
Begin Object Class=/Script/UnrealEd.MaterialGraphNode Name=â€śMaterialGraphNode_874â€ť
Begin Object Class=/Script/Engine.MaterialExpressionConstant Name=â€śMaterialExpressionConstant_19â€ť
End Object
Begin Object Name=â€śMaterialExpressionConstant_19â€ť
R=0.383000
MaterialExpressionEditorX=-1824
MaterialExpressionEditorY=1888
MaterialExpressionGuid=319E5F15404646FD0FF02AB5E3816A97
Material=PreviewMaterialâ€™"/Engine/Transient.MM_Cybran"â€™
End Object
MaterialExpression=MaterialExpressionConstantâ€™â€śMaterialExpressionConstant_19â€ťâ€™
NodePosX=-1824
NodePosY=1888
NodeGuid=439200ED4C47C0E8AB9C6485D40334C7
End Object
Begin Object Class=/Script/UnrealEd.MaterialGraphNode_Knot Name=â€śMaterialGraphNode_Knot_347â€ť
Begin Object Class=/Script/Engine.MaterialExpressionReroute Name=â€śMaterialExpressionReroute_38â€ť
End Object
Begin Object Name=â€śMaterialExpressionReroute_38â€ť
Input=(Expression=MaterialExpressionRerouteâ€™â€śMaterialGraphNode_Knot_348.MaterialExpressionReroute_41â€ťâ€™)
MaterialExpressionEditorX=-1840
MaterialExpressionEditorY=1696
MaterialExpressionGuid=D399DB104307AEEABCB76582B0765D9A
Material=PreviewMaterialâ€™"/Engine/Transient.MM_Cybran"â€™
End Object
MaterialExpression=MaterialExpressionRerouteâ€™â€śMaterialExpressionReroute_38â€ťâ€™
NodePosX=-1840
NodePosY=1696
bCanRenameNode=False
NodeGuid=F297AFB54DFDEAB9A79B1F9D523843F4
End Object
Begin Object Class=/Script/UnrealEd.MaterialGraphNode Name=â€śMaterialGraphNode_875â€ť
Begin Object Class=/Script/Engine.MaterialExpressionConstant3Vector Name=â€śMaterialExpressionConstant3Vector_3â€ť
End Object
Begin Object Name=â€śMaterialExpressionConstant3Vector_3â€ť
Constant=(R=0.000000,G=1.000000,B=0.000000,A=0.000000)
MaterialExpressionEditorX=-1840
MaterialExpressionEditorY=2000
MaterialExpressionGuid=51FF12FD4BAF42CBB2854DAA526D9064
Material=PreviewMaterialâ€™"/Engine/Transient.MM_Cybran"â€™
End Object
MaterialExpression=MaterialExpressionConstant3Vectorâ€™â€śMaterialExpressionConstant3Vector_3â€ťâ€™
NodePosX=-1840
NodePosY=2000
NodeGuid=309BBC614FC8A499C80B7A81DA037325
End Object
Begin Object Class=/Script/UnrealEd.MaterialGraphNode Name=â€śMaterialGraphNode_901â€ť
Begin Object Class=/Script/Engine.MaterialExpressionIf Name=â€śMaterialExpressionIf_7â€ť
End Object
Begin Object Name=â€śMaterialExpressionIf_7â€ť
A=(Expression=MaterialExpressionRerouteâ€™â€śMaterialGraphNode_Knot_348.MaterialExpressionReroute_41â€ťâ€™)
B=(Expression=MaterialExpressionConstantâ€™â€śMaterialGraphNode_902.MaterialExpressionConstant_20â€ťâ€™)
AGreaterThanB=(Expression=MaterialExpressionIfâ€™â€śMaterialGraphNode_905.MaterialExpressionIf_13â€ťâ€™)
AEqualsB=(Expression=MaterialExpressionConstant3Vectorâ€™â€śMaterialGraphNode_903.MaterialExpressionConstant3Vector_4â€ťâ€™)
ALessThanB=(Expression=MaterialExpressionConstant3Vectorâ€™â€śMaterialGraphNode_903.MaterialExpressionConstant3Vector_4â€ťâ€™)
MaterialExpressionEditorX=-1952
MaterialExpressionEditorY=1936
MaterialExpressionGuid=B842545F4E37C865F1FF76922E2499FA
Material=PreviewMaterialâ€™"/Engine/Transient.MM_Cybran"â€™
End Object
MaterialExpression=MaterialExpressionIfâ€™â€śMaterialExpressionIf_7â€ťâ€™
NodePosX=-1952
NodePosY=1936
ErrorType=1
ErrorMsg=â€śFailed to compile AGreaterThanB input.â€ť
NodeGuid=647B712949803D42140A6B940C0A12B5
End Object
Begin Object Class=/Script/UnrealEd.MaterialGraphNode Name=â€śMaterialGraphNode_902â€ť
Begin Object Class=/Script/Engine.MaterialExpressionConstant Name=â€śMaterialExpressionConstant_20â€ť
End Object
Begin Object Name=â€śMaterialExpressionConstant_20â€ť
R=0.494000
MaterialExpressionEditorX=-2096
MaterialExpressionEditorY=1952
MaterialExpressionGuid=554A9F52400311102F4E20BB3947BD01
Material=PreviewMaterialâ€™"/Engine/Transient.MM_Cybran"â€™
End Object
MaterialExpression=MaterialExpressionConstantâ€™â€śMaterialExpressionConstant_20â€ťâ€™
NodePosX=-2096
NodePosY=1952
End Object
Begin Object Class=/Script/UnrealEd.MaterialGraphNode_Knot Name=â€śMaterialGraphNode_Knot_348â€ť
Begin Object Class=/Script/Engine.MaterialExpressionReroute Name=â€śMaterialExpressionReroute_41â€ť
End Object
Begin Object Name=â€śMaterialExpressionReroute_41â€ť
Input=(Expression=MaterialExpressionPowerâ€™â€śMaterialGraphNode_900.MaterialExpressionPower_1â€ťâ€™)
MaterialExpressionEditorX=-2144
MaterialExpressionEditorY=1696
Material=PreviewMaterialâ€™"/Engine/Transient.MM_Cybran"â€™
End Object
MaterialExpression=MaterialExpressionRerouteâ€™â€śMaterialExpressionReroute_41â€ťâ€™
NodePosX=-2144
NodePosY=1696
bCanRenameNode=False
NodeGuid=DA4AA54A452122EE1A0E57AF5CBAA9F2
End Object
Begin Object Class=/Script/UnrealEd.MaterialGraphNode Name=â€śMaterialGraphNode_903â€ť
Begin Object Class=/Script/Engine.MaterialExpressionConstant3Vector Name=â€śMaterialExpressionConstant3Vector_4â€ť
End Object
Begin Object Name=â€śMaterialExpressionConstant3Vector_4â€ť
Constant=(R=0.000000,G=1.000000,B=1.000000,A=0.000000)
MaterialExpressionEditorX=-2128
MaterialExpressionEditorY=2048
MaterialExpressionGuid=51FF12FD4BAF42CBB2854DAA526D9064
Material=PreviewMaterialâ€™"/Engine/Transient.MM_Cybran"â€™
End Object
MaterialExpression=MaterialExpressionConstant3Vectorâ€™â€śMaterialExpressionConstant3Vector_4â€ťâ€™
NodePosX=-2128
NodePosY=2048
NodeGuid=D76FC21143E4F9A3570D8EB23A6F6C43
End Object
Begin Object Class=/Script/UnrealEd.MaterialGraphNode Name=â€śMaterialGraphNode_880â€ť
End Object
MaterialExpressionEditorX=-4192
MaterialExpressionEditorY=1712
MaterialExpressionGuid=9D72D8EF404C92A6C3C4B6856D48A049
Material=PreviewMaterialâ€™"/Engine/Transient.MM_Cybran"â€™
End Object
NodePosX=-4192
NodePosY=1712
NodeGuid=984FFE9C44154CC085D07CB847E7783C
End Object
Begin Object Class=/Script/UnrealEd.MaterialGraphNode Name=â€śMaterialGraphNode_891â€ť
Begin Object Class=/Script/Engine.MaterialExpressionObjectPositionWS Name=â€śMaterialExpressionObjectPositionWS_1â€ť
End Object
Begin Object Name=â€śMaterialExpressionObjectPositionWS_1â€ť
MaterialExpressionEditorX=-4208
MaterialExpressionEditorY=1792
MaterialExpressionGuid=C845C5BD49C5E1BF8C77BE90DDFA6D2C
Material=PreviewMaterialâ€™"/Engine/Transient.MM_Cybran"â€™
End Object
MaterialExpression=MaterialExpressionObjectPositionWSâ€™â€śMaterialExpressionObjectPositionWS_1â€ťâ€™
NodePosX=-4208
NodePosY=1792
NodeGuid=0FC6DABE48127E03641FEC86778D8F82
End Object
Begin Object Class=/Script/UnrealEd.MaterialGraphNode Name=â€śMaterialGraphNode_882â€ť
Begin Object Class=/Script/Engine.MaterialExpressionMultiply Name=â€śMaterialExpressionMultiply_5â€ť
End Object
Begin Object Name=â€śMaterialExpressionMultiply_5â€ť
A=(Expression=MaterialExpressionDistanceâ€™â€śMaterialGraphNode_893.MaterialExpressionDistance_1â€ťâ€™)
B=(Expression=MaterialExpressionSineâ€™â€śMaterialGraphNode_887.MaterialExpressionSine_2â€ťâ€™)
MaterialExpressionEditorX=-3872
MaterialExpressionEditorY=1808
MaterialExpressionGuid=05B67F04490EE4757969619E15E33435
Material=PreviewMaterialâ€™"/Engine/Transient.MM_Cybran"â€™
End Object
MaterialExpression=MaterialExpressionMultiplyâ€™â€śMaterialExpressionMultiply_5â€ťâ€™
NodePosX=-3872
NodePosY=1808
NodeGuid=F705BA03448A2341D687A0B85EFEDBD9
End Object
Begin Object Class=/Script/UnrealEd.MaterialGraphNode Name=â€śMaterialGraphNode_892â€ť
Begin Object Class=/Script/Engine.MaterialExpressionCameraPositionWS Name=â€śMaterialExpressionCameraPositionWS_0â€ť
End Object
Begin Object Name=â€śMaterialExpressionCameraPositionWS_0â€ť
MaterialExpressionEditorX=-4208
MaterialExpressionEditorY=1872
MaterialExpressionGuid=6F4767D647CA68711E793585772EEF30
Material=PreviewMaterialâ€™"/Engine/Transient.MM_Cybran"â€™
End Object
MaterialExpression=MaterialExpressionCameraPositionWSâ€™â€śMaterialExpressionCameraPositionWS_0â€ťâ€™
NodePosX=-4208
NodePosY=1872
End Object
Begin Object Class=/Script/UnrealEd.MaterialGraphNode Name=â€śMaterialGraphNode_893â€ť
Begin Object Class=/Script/Engine.MaterialExpressionDistance Name=â€śMaterialExpressionDistance_1â€ť
End Object
Begin Object Name=â€śMaterialExpressionDistance_1â€ť
A=(Expression=MaterialExpressionObjectPositionWSâ€™â€śMaterialGraphNode_891.MaterialExpressionObjectPositionWS_1â€ťâ€™)
B=(Expression=MaterialExpressionCameraPositionWSâ€™â€śMaterialGraphNode_892.MaterialExpressionCameraPositionWS_0â€ťâ€™)
MaterialExpressionEditorX=-4016
MaterialExpressionEditorY=1808
MaterialExpressionGuid=69A557414EA4926CC097878C59A2CEEE
Material=PreviewMaterialâ€™"/Engine/Transient.MM_Cybran"â€™
End Object
MaterialExpression=MaterialExpressionDistanceâ€™â€śMaterialExpressionDistance_1â€ťâ€™
NodePosX=-4016
NodePosY=1808
NodeGuid=47FC593F49200F43237CA6B9C70EA6FF
End Object
Begin Object Class=/Script/UnrealEd.MaterialGraphNode Name=â€śMaterialGraphNode_885â€ť
Begin Object Class=/Script/Engine.MaterialExpressionDivide Name=â€śMaterialExpressionDivide_1â€ť
End Object
Begin Object Name=â€śMaterialExpressionDivide_1â€ť
B=(Expression=MaterialExpressionMultiplyâ€™â€śMaterialGraphNode_882.MaterialExpressionMultiply_5â€ťâ€™)
MaterialExpressionEditorX=-3744
MaterialExpressionEditorY=1728
MaterialExpressionGuid=7071A33F4E0AB4AE13D88790C126D826
Material=PreviewMaterialâ€™"/Engine/Transient.MM_Cybran"â€™
End Object
MaterialExpression=MaterialExpressionDivideâ€™â€śMaterialExpressionDivide_1â€ťâ€™
NodePosX=-3744
NodePosY=1728
NodeGuid=564792C44D351DC192B2A1BAEA7AF25D
End Object
Begin Object Class=/Script/UnrealEd.MaterialGraphNode Name=â€śMaterialGraphNode_886â€ť
Begin Object Class=/Script/Engine.MaterialExpressionMultiply Name=â€śMaterialExpressionMultiply_20â€ť
End Object
Begin Object Name=â€śMaterialExpressionMultiply_20â€ť
A=(Expression=MaterialExpressionDivideâ€™â€śMaterialGraphNode_885.MaterialExpressionDivide_1â€ťâ€™)
ConstB=0.135000
MaterialExpressionEditorX=-3616
MaterialExpressionEditorY=1728
MaterialExpressionGuid=F870C7FF41DC2ACFA642BF9AB062E7E5
Material=PreviewMaterialâ€™"/Engine/Transient.MM_Cybran"â€™
End Object
MaterialExpression=MaterialExpressionMultiplyâ€™â€śMaterialExpressionMultiply_20â€ťâ€™
NodePosX=-3616
NodePosY=1728
NodeGuid=31112CA241857861DE7CE28F26764218
End Object
Begin Object Class=/Script/UnrealEd.MaterialGraphNode Name=â€śMaterialGraphNode_887â€ť
Begin Object Class=/Script/Engine.MaterialExpressionSine Name=â€śMaterialExpressionSine_2â€ť
End Object
Begin Object Name=â€śMaterialExpressionSine_2â€ť
Input=(Expression=MaterialExpressionScalarParameterâ€™â€śMaterialGraphNode_888.MaterialExpressionScalarParameter_60â€ťâ€™)
MaterialExpressionEditorX=-4000
MaterialExpressionEditorY=1968
MaterialExpressionGuid=2D6FEFCF44BF6008DF6D21A49A4C6C18
Material=PreviewMaterialâ€™"/Engine/Transient.MM_Cybran"â€™
End Object
MaterialExpression=MaterialExpressionSineâ€™â€śMaterialExpressionSine_2â€ťâ€™
NodePosX=-4000
NodePosY=1968
NodeGuid=B2DFE39048CF14DC06C92FB463EEA71F
End Object
Begin Object Class=/Script/UnrealEd.MaterialGraphNode Name=â€śMaterialGraphNode_888â€ť
Begin Object Class=/Script/Engine.MaterialExpressionScalarParameter Name=â€śMaterialExpressionScalarParameter_60â€ť
End Object
Begin Object Name=â€śMaterialExpressionScalarParameter_60â€ť
DefaultValue=37.497356
ParameterName=â€śCamera FOVâ€ť
ExpressionGUID=C7686F22491257BC259B08BF9B10070F
MaterialExpressionEditorX=-4176
MaterialExpressionEditorY=1968
MaterialExpressionGuid=DF1BD9BE463D114EC9FAB4AEED03FEA0
Material=PreviewMaterialâ€™"/Engine/Transient.MM_Cybran"â€™
End Object
MaterialExpression=MaterialExpressionScalarParameterâ€™â€śMaterialExpressionScalarParameter_60â€ťâ€™
NodePosX=-4176
NodePosY=1968
bCanRenameNode=True
NodeGuid=18E07EA84623B8CB0A969BA2F71B41BB
End Object
Begin Object Class=/Script/UnrealEd.MaterialGraphNode Name=â€śMaterialGraphNode_900â€ť
Begin Object Class=/Script/Engine.MaterialExpressionPower Name=â€śMaterialExpressionPower_1â€ť
End Object
Begin Object Name=â€śMaterialExpressionPower_1â€ť
Base=(Expression=MaterialExpressionMultiplyâ€™â€śMaterialGraphNode_886.MaterialExpressionMultiply_20â€ťâ€™)
ConstExponent=0.800000
MaterialExpressionEditorX=-3424
MaterialExpressionEditorY=1664
MaterialExpressionGuid=BA90693043921F09733DED9C0D0EF6F8
Material=PreviewMaterialâ€™"/Engine/Transient.MM_Cybran"â€™
End Object
MaterialExpression=MaterialExpressionPowerâ€™â€śMaterialExpressionPower_1â€ťâ€™
NodePosX=-3424
NodePosY=1664
NodeGuid=1A97442A464CEBDBFC94CD8864D42731
End Object
Begin Object Class=/Script/UnrealEd.MaterialGraphNode Name=â€śMaterialGraphNode_905â€ť
Begin Object Class=/Script/Engine.MaterialExpressionIf Name=â€śMaterialExpressionIf_13â€ť
End Object
Begin Object Name=â€śMaterialExpressionIf_13â€ť
A=(Expression=MaterialExpressionPowerâ€™â€śMaterialGraphNode_900.MaterialExpressionPower_1â€ťâ€™)
B=(Expression=MaterialExpressionConstantâ€™â€śMaterialGraphNode_906.MaterialExpressionConstant_27â€ťâ€™)
AGreaterThanB=(Expression=MaterialExpressionIfâ€™â€śMaterialGraphNode_909.MaterialExpressionIf_14â€ťâ€™)
AEqualsB=(Expression=MaterialExpressionConstant3Vectorâ€™â€śMaterialGraphNode_907.MaterialExpressionConstant3Vector_12â€ťâ€™)
ALessThanB=(Expression=MaterialExpressionConstant3Vectorâ€™â€śMaterialGraphNode_907.MaterialExpressionConstant3Vector_12â€ťâ€™)
MaterialExpressionEditorX=-2256
MaterialExpressionEditorY=1984
MaterialExpressionGuid=B842545F4E37C865F1FF76922E2499FA
Material=PreviewMaterialâ€™"/Engine/Transient.MM_Cybran"â€™
End Object
MaterialExpression=MaterialExpressionIfâ€™â€śMaterialExpressionIf_13â€ťâ€™
NodePosX=-2256
NodePosY=1984
ErrorType=1
ErrorMsg=â€śFailed to compile AGreaterThanB input.â€ť
NodeGuid=C38B0A7049179E9CA4D789AFBDB83E44
End Object
Begin Object Class=/Script/UnrealEd.MaterialGraphNode Name=â€śMaterialGraphNode_906â€ť
Begin Object Class=/Script/Engine.MaterialExpressionConstant Name=â€śMaterialExpressionConstant_27â€ť
End Object
Begin Object Name=â€śMaterialExpressionConstant_27â€ť
R=0.605000
MaterialExpressionEditorX=-2400
MaterialExpressionEditorY=2016
MaterialExpressionGuid=554A9F52400311102F4E20BB3947BD01
Material=PreviewMaterialâ€™"/Engine/Transient.MM_Cybran"â€™
End Object
MaterialExpression=MaterialExpressionConstantâ€™â€śMaterialExpressionConstant_27â€ťâ€™
NodePosX=-2400
NodePosY=2016
NodeGuid=D34836E74D7653E9AEE875888B095E09
End Object
Begin Object Class=/Script/UnrealEd.MaterialGraphNode Name=â€śMaterialGraphNode_907â€ť
Begin Object Class=/Script/Engine.MaterialExpressionConstant3Vector Name=â€śMaterialExpressionConstant3Vector_12â€ť
End Object
Begin Object Name=â€śMaterialExpressionConstant3Vector_12â€ť
Constant=(R=0.000000,G=0.000000,B=1.000000,A=0.000000)
MaterialExpressionEditorX=-2416
MaterialExpressionEditorY=2112
MaterialExpressionGuid=51FF12FD4BAF42CBB2854DAA526D9064
Material=PreviewMaterialâ€™"/Engine/Transient.MM_Cybran"â€™
End Object
MaterialExpression=MaterialExpressionConstant3Vectorâ€™â€śMaterialExpressionConstant3Vector_12â€ťâ€™
NodePosX=-2416
NodePosY=2112
NodeGuid=F84EDE454A1C4ACD0FC5B3A58514EF05
End Object
Begin Object Class=/Script/UnrealEd.MaterialGraphNode Name=â€śMaterialGraphNode_909â€ť
Begin Object Class=/Script/Engine.MaterialExpressionIf Name=â€śMaterialExpressionIf_14â€ť
End Object
Begin Object Name=â€śMaterialExpressionIf_14â€ť
A=(Expression=MaterialExpressionPowerâ€™â€śMaterialGraphNode_900.MaterialExpressionPower_1â€ťâ€™)
B=(Expression=MaterialExpressionConstantâ€™â€śMaterialGraphNode_910.MaterialExpressionConstant_28â€ťâ€™)
AGreaterThanB=(Expression=MaterialExpressionIfâ€™â€śMaterialGraphNode_912.MaterialExpressionIf_15â€ťâ€™)
AEqualsB=(Expression=MaterialExpressionConstant3Vectorâ€™â€śMaterialGraphNode_911.MaterialExpressionConstant3Vector_14â€ťâ€™)
ALessThanB=(Expression=MaterialExpressionConstant3Vectorâ€™â€śMaterialGraphNode_911.MaterialExpressionConstant3Vector_14â€ťâ€™)
MaterialExpressionEditorX=-2544
MaterialExpressionEditorY=2064
MaterialExpressionGuid=B842545F4E37C865F1FF76922E2499FA
Material=PreviewMaterialâ€™"/Engine/Transient.MM_Cybran"â€™
End Object
MaterialExpression=MaterialExpressionIfâ€™â€śMaterialExpressionIf_14â€ťâ€™
NodePosX=-2544
NodePosY=2064
ErrorType=1
ErrorMsg=â€śFailed to compile AGreaterThanB input.â€ť
NodeGuid=8518C8C94E7DD2DE01F4D785BEEEA650
End Object
Begin Object Class=/Script/UnrealEd.MaterialGraphNode Name=â€śMaterialGraphNode_910â€ť
Begin Object Class=/Script/Engine.MaterialExpressionConstant Name=â€śMaterialExpressionConstant_28â€ť
End Object
Begin Object Name=â€śMaterialExpressionConstant_28â€ť
R=0.716000
MaterialExpressionEditorX=-2688
MaterialExpressionEditorY=2080
MaterialExpressionGuid=554A9F52400311102F4E20BB3947BD01
Material=PreviewMaterialâ€™"/Engine/Transient.MM_Cybran"â€™
End Object
MaterialExpression=MaterialExpressionConstantâ€™â€śMaterialExpressionConstant_28â€ťâ€™
NodePosX=-2688
NodePosY=2080
NodeGuid=78A7E73544A7285F0A2948B02B3963EC
End Object
Begin Object Class=/Script/UnrealEd.MaterialGraphNode Name=â€śMaterialGraphNode_911â€ť
Begin Object Class=/Script/Engine.MaterialExpressionConstant3Vector Name=â€śMaterialExpressionConstant3Vector_14â€ť
End Object
Begin Object Name=â€śMaterialExpressionConstant3Vector_14â€ť
Constant=(R=0.250000,G=0.000000,B=1.000000,A=0.000000)
MaterialExpressionEditorX=-2720
MaterialExpressionEditorY=2192
MaterialExpressionGuid=51FF12FD4BAF42CBB2854DAA526D9064
Material=PreviewMaterialâ€™"/Engine/Transient.MM_Cybran"â€™
End Object
MaterialExpression=MaterialExpressionConstant3Vectorâ€™â€śMaterialExpressionConstant3Vector_14â€ťâ€™
NodePosX=-2720
NodePosY=2192
End Object
Begin Object Class=/Script/UnrealEd.MaterialGraphNode Name=â€śMaterialGraphNode_912â€ť
Begin Object Class=/Script/Engine.MaterialExpressionIf Name=â€śMaterialExpressionIf_15â€ť
End Object
Begin Object Name=â€śMaterialExpressionIf_15â€ť
A=(Expression=MaterialExpressionPowerâ€™â€śMaterialGraphNode_900.MaterialExpressionPower_1â€ťâ€™)
B=(Expression=MaterialExpressionConstantâ€™â€śMaterialGraphNode_913.MaterialExpressionConstant_29â€ťâ€™)
AGreaterThanB=(Expression=MaterialExpressionConstant3Vectorâ€™â€śMaterialGraphNode_878.MaterialExpressionConstant3Vector_18â€ťâ€™)
AEqualsB=(Expression=MaterialExpressionConstant3Vectorâ€™â€śMaterialGraphNode_914.MaterialExpressionConstant3Vector_16â€ťâ€™)
ALessThanB=(Expression=MaterialExpressionConstant3Vectorâ€™â€śMaterialGraphNode_914.MaterialExpressionConstant3Vector_16â€ťâ€™)
MaterialExpressionEditorX=-2848
MaterialExpressionEditorY=2128
MaterialExpressionGuid=B842545F4E37C865F1FF76922E2499FA
Material=PreviewMaterialâ€™"/Engine/Transient.MM_Cybran"â€™
End Object
MaterialExpression=MaterialExpressionIfâ€™â€śMaterialExpressionIf_15â€ťâ€™
NodePosX=-2848
NodePosY=2128
ErrorType=1
ErrorMsg=â€śFailed to compile AGreaterThanB input.â€ť
NodeGuid=F11EA4A34BFB9923FB726295AFEDA2DA
End Object
Begin Object Class=/Script/UnrealEd.MaterialGraphNode Name=â€śMaterialGraphNode_913â€ť
Begin Object Class=/Script/Engine.MaterialExpressionConstant Name=â€śMaterialExpressionConstant_29â€ť
End Object
Begin Object Name=â€śMaterialExpressionConstant_29â€ť
R=0.827000
MaterialExpressionEditorX=-2992
MaterialExpressionEditorY=2144
MaterialExpressionGuid=554A9F52400311102F4E20BB3947BD01
Material=PreviewMaterialâ€™"/Engine/Transient.MM_Cybran"â€™
End Object
MaterialExpression=MaterialExpressionConstantâ€™â€śMaterialExpressionConstant_29â€ťâ€™
NodePosX=-2992
NodePosY=2144
NodeGuid=1AA378094956CD9B24A4298076827B58
End Object
Begin Object Class=/Script/UnrealEd.MaterialGraphNode Name=â€śMaterialGraphNode_914â€ť
Begin Object Class=/Script/Engine.MaterialExpressionConstant3Vector Name=â€śMaterialExpressionConstant3Vector_16â€ť
End Object
Begin Object Name=â€śMaterialExpressionConstant3Vector_16â€ť
Constant=(R=1.000000,G=0.000000,B=0.250000,A=0.000000)
MaterialExpressionEditorX=-3024
MaterialExpressionEditorY=2256
MaterialExpressionGuid=51FF12FD4BAF42CBB2854DAA526D9064
Material=PreviewMaterialâ€™"/Engine/Transient.MM_Cybran"â€™
End Object
MaterialExpression=MaterialExpressionConstant3Vectorâ€™â€śMaterialExpressionConstant3Vector_16â€ťâ€™
NodePosX=-3024
NodePosY=2256
End Object
Begin Object Class=/Script/UnrealEd.MaterialGraphNode Name=â€śMaterialGraphNode_878â€ť
Begin Object Class=/Script/Engine.MaterialExpressionConstant3Vector Name=â€śMaterialExpressionConstant3Vector_18â€ť
End Object
Begin Object Name=â€śMaterialExpressionConstant3Vector_18â€ť
Constant=(R=1.000000,G=1.000000,B=1.000000,A=0.000000)
MaterialExpressionEditorX=-3200
MaterialExpressionEditorY=2176
MaterialExpressionGuid=51FF12FD4BAF42CBB2854DAA526D9064
Material=PreviewMaterialâ€™"/Engine/Transient.MM_Cybran"â€™
End Object
MaterialExpression=MaterialExpressionConstant3Vectorâ€™â€śMaterialExpressionConstant3Vector_18â€ťâ€™
NodePosX=-3200
NodePosY=2176
NodeGuid=94BB300040BCCA3312A3A5867A1F3139