Welcome to WSL!

Make yourself at home, but before posting, please may I ask you to read the following topics.


Posting 101
Server space, screenshots, and you

Thank you!

PS. please pretty please:


Image

wavy text

Moderator: SecondMan

User avatar
ziggx
Posts: 48
Joined: Tue Dec 30, 2014 10:26 am

wavy text

#1

Post by ziggx » Thu Jul 30, 2020 9:52 am

Hi everyone,

I hope someone can help or point me in the right direction. I want to modify a line of text so it looks like it is wavy - and on top of that I wan tto animate the waviness (amplitude and frequency). Unfortunately, can't figure out how to approach this. Any help or suggestions gratefully received.
wavy.png
Thanks
Ziggx

Added in 1 minute 20 seconds:
Hmm attached png didn't work - trying again....
wavy.png
You do not have the required permissions to view the files attached to this post.

User avatar
Millolab
Fusionista
Posts: 568
Joined: Wed Oct 24, 2018 6:26 am
Answers: 3
Been thanked: 81 times
Contact:

Re: wavy text

#2

Post by Millolab » Thu Jul 30, 2020 10:41 am

This should get you started:

Code: Select all

{
	Tools = ordered() {
		Text1 = TextPlus {
			CtrlWZoom = false,
			Inputs = {
				Width = Input { Value = 1920, },
				Height = Input { Value = 1080, },
				["Gamut.SLogVersion"] = Input { Value = FuID { "SLog2" }, },
				LayoutType = Input { Value = 3, },
				StyledText = Input { Value = "SOME WAVY TEXT EXAMPLE", },
				Font = Input { Value = "Open Sans", },
				Style = Input { Value = "Bold", },
				VerticalJustificationNew = Input { Value = 3, },
				HorizontalJustificationNew = Input { Value = 3, },
				ManualFontKerningPlacement = Input {
					Value = StyledText {
						Array = {
						},
						Value = ""
					},
				},
				Path = Input {
					SourceOp = "Polygon1Polyline",
					Source = "Value",
				},
			},
			ViewInfo = OperatorInfo { Pos = { 852.667, 102.515 } },
		},
		Polygon1Polyline = BezierSpline {
			SplineColor = { Red = 173, Green = 255, Blue = 47 },
			NameSet = true,
			KeyFrames = {
				[0] = { 0, Flags = { Linear = true, LockedY = true }, Value = Polyline {
						Points = {
							{ X = -0.415624988079071, Y = -0.0101851837502586, RX = 0.0588718524853754, RY = 0.0399690071884089 },
							{ X = -0.239583325386047, Y = 0.0472222169240316, LX = -0.0582979577222729, LY = 0.0225306137025276, RX = 0.0773136466219303, RY = -0.0298796728741482 },
							{ X = -0.0322916671633721, Y = -0.158333340397588, LX = -0.0790425547164337, LY = -0.00619941693167338, RX = 0.0851967728498588, RY = 0.00668210077500865 },
							{ X = 0.185416666666667, Y = 0.0805555543413868, LX = -0.0845577064206045, LY = -0.0196853933738639, RX = 0.0769816650715383, RY = 0.0179216587542044 },
							{ X = 0.405208335320155, Y = -0.0564814807088287, LX = -0.0714050017909749, LY = 0.07747934690221 }
						}
					} }
			}
		},
		Polygon1 = PolylineMask {
			DrawMode = "ClickAppend",
			DrawMode2 = "InsertAndModify",
			Inputs = {
				Filter = Input { Value = FuID { "Fast Gaussian" }, },
				MaskWidth = Input { Value = 1920, },
				MaskHeight = Input { Value = 1080, },
				PixelAspect = Input { Value = { 1, 1 }, },
				ClippingMode = Input { Value = FuID { "None" }, },
				Polyline = Input {
					SourceOp = "Polygon1Polyline",
					Source = "Value",
				},
				Polyline2 = Input {
					Value = Polyline {
					},
					Disabled = true,
				},
			},
			ViewInfo = OperatorInfo { Pos = { 730.667, 101.909 } },
		}
	}
}

User avatar
ziggx
Posts: 48
Joined: Tue Dec 30, 2014 10:26 am

Re: wavy text

#3

Post by ziggx » Fri Jul 31, 2020 12:54 am

Thanks Millolab,

How did you connect the polygon to the text? It's going some way towards what I want - animating seems to be quite difficult though.

Cheers
Ziggx

User avatar
Millolab
Fusionista
Posts: 568
Joined: Wed Oct 24, 2018 6:26 am
Answers: 3
Been thanked: 81 times
Contact:

Re: wavy text

#4

Post by Millolab » Fri Jul 31, 2020 1:01 am

@ziggx


I don't know what you want. If you need help you should explain your needs.

User avatar
ShadowMaker SdR
Fusionista
Posts: 906
Joined: Sun Sep 21, 2014 6:17 am
Answers: 8
Been thanked: 39 times

Re: wavy text

#5

Post by ShadowMaker SdR » Fri Jul 31, 2020 1:01 am

If I look at your example it appears that the letters themselves are warped as well. So this might come closer to what you're looking for.
  1. {
  2.     Tools = ordered() {
  3.         Text1 = TextPlus {
  4.             Inputs = {
  5.                 GlobalOut = Input { Value = 500, },
  6.                 Width = Input { Value = 1920, },
  7.                 Height = Input { Value = 1080, },
  8.                 ["Gamut.SLogVersion"] = Input { Value = FuID { "SLog2" }, },
  9.                 Path = Input {
  10.                     SourceOp = "Text1Path",
  11.                     Source = "Value",
  12.                 },
  13.                 StyledText = Input { Value = "SOME WAVY TEXT EXAMPLE", },
  14.                 Font = Input { Value = "Open Sans", },
  15.                 Style = Input { Value = "Bold", },
  16.                 VerticalJustificationNew = Input { Value = 3, },
  17.                 HorizontalJustificationNew = Input { Value = 3, },
  18.                 ManualFontKerningPlacement = Input {
  19.                     Value = StyledText {
  20.                         Array = {
  21.                         },
  22.                         Value = ""
  23.                     },
  24.                 },
  25.             },
  26.             ViewInfo = OperatorInfo { Pos = { 110, -16.5 } },
  27.         },
  28.         Text1Path = BezierSpline {
  29.             SplineColor = { Red = 173, Green = 255, Blue = 47 },
  30.             NameSet = true,
  31.             KeyFrames = {
  32.                 [0] = { 0, Flags = { Linear = true, LockedY = true }, Value = Polyline {
  33.                         Points = {
  34.                             { X = -0.415624988079071, Y = -0.0101851837502586, RX = 0.0588718524853754, RY = 0.0399690071884089 },
  35.                             { X = -0.239583325386047, Y = 0.0472222169240316, LX = -0.0582979577222729, LY = 0.0225306137025276, RX = 0.0773136466219303, RY = -0.0298796728741482 },
  36.                             { X = -0.0322916671633721, Y = -0.158333340397588, LX = -0.0790425547164337, LY = -0.00619941693167338, RX = 0.0851967728498588, RY = 0.00668210077500865 },
  37.                             { X = 0.185416666666667, Y = 0.0805555543413868, LX = -0.0845577064206045, LY = -0.0196853933738639, RX = 0.0769816650715383, RY = 0.0179216587542044 },
  38.                             { X = 0.405208335320155, Y = -0.0564814807088287, LX = -0.0714050017909749, LY = 0.07747934690221 }
  39.                         }
  40.                     } }
  41.             }
  42.         },
  43.         Transform1 = Transform {
  44.             Inputs = {
  45.                 Center = Input {
  46.                     SourceOp = "Path1",
  47.                     Source = "Position",
  48.                 },
  49.                 Edges = Input { Value = 1, },
  50.                 Input = Input {
  51.                     SourceOp = "Background1",
  52.                     Source = "Output",
  53.                 },
  54.             },
  55.             ViewInfo = OperatorInfo { Pos = { 385, 49.5 } },
  56.         },
  57.         Path1 = PolyPath {
  58.             DrawMode = "InsertAndModify",
  59.             CtrlWZoom = false,
  60.             Inputs = {
  61.                 Displacement = Input {
  62.                     SourceOp = "Path1Displacement",
  63.                     Source = "Value",
  64.                 },
  65.                 PolyLine = Input {
  66.                     Value = Polyline {
  67.                         Points = {
  68.                             { Linear = true, LockY = true, X = 0, Y = 0, RX = -0.099, RY = 0 },
  69.                             { Linear = true, LockY = true, X = -0.297, Y = 0, LX = 0.099, LY = 0, RX = -1.73433333333333, RY = 0 },
  70.                             { Linear = true, LockY = true, X = -5.5, Y = 0, LX = 1.73433333333333, LY = 0 }
  71.                         }
  72.                     },
  73.                 },
  74.             },
  75.         },
  76.         Path1Displacement = BezierSpline {
  77.             SplineColor = { Red = 255, Green = 0, Blue = 255 },
  78.             NameSet = true,
  79.             KeyFrames = {
  80.                 [0] = { 0, RH = { 9, 0.018 }, Flags = { Linear = true, LockedY = true } },
  81.                 [27] = { 0.054, LH = { 18, 0.036 }, RH = { 184.666666666667, 0.369333333333333 }, Flags = { Linear = true, LockedY = true } },
  82.                 [500] = { 1, LH = { 342.333333333333, 0.684666666666667 }, Flags = { Linear = true, LockedY = true } }
  83.             }
  84.         },
  85.         Background1 = Background {
  86.             Inputs = {
  87.                 GlobalOut = Input { Value = 500, },
  88.                 Width = Input { Value = 1920, },
  89.                 Height = Input { Value = 1080, },
  90.                 ["Gamut.SLogVersion"] = Input { Value = FuID { "SLog2" }, },
  91.                 Type = Input { Value = FuID { "Gradient" }, },
  92.                 End = Input { Value = { 0.251466890192791, 0.502971755020935 }, },
  93.                 Gradient = Input {
  94.                     Value = Gradient {
  95.                         Colors = {
  96.                             [0] = { 0, 0, 0, 1 },
  97.                             [0.482587064676617] = { 1, 1, 1, 1 },
  98.                             [1] = { 0, 0, 0, 1 }
  99.                         }
  100.                     },
  101.                 },
  102.                 Repeat = Input { Value = FuID { "Ping-Pong" }, },
  103.             },
  104.             ViewInfo = OperatorInfo { Pos = { 275, 49.5 } },
  105.         },
  106.         Blur1 = Blur {
  107.             CtrlWZoom = false,
  108.             Inputs = {
  109.                 Filter = Input { Value = FuID { "Fast Gaussian" }, },
  110.                 XBlurSize = Input { Value = 62.2, },
  111.                 Input = Input {
  112.                     SourceOp = "Transform1",
  113.                     Source = "Output",
  114.                 },
  115.             },
  116.             ViewInfo = OperatorInfo { Pos = { 495, 49.5 } },
  117.         },
  118.         Displace1 = Displace {
  119.             Inputs = {
  120.                 Type = Input { Value = 1, },
  121.                 YChannel = Input { Value = 4, },
  122.                 YRefraction = Input { Value = 0.046, },
  123.                 RefractionStrength = Input { Value = -0.31, },
  124.                 Input = Input {
  125.                     SourceOp = "Text1",
  126.                     Source = "Output",
  127.                 },
  128.                 Foreground = Input {
  129.                     SourceOp = "Blur1",
  130.                     Source = "Output",
  131.                 },
  132.             },
  133.             ViewInfo = OperatorInfo { Pos = { 550, -16.5 } },
  134.         }
  135.     }
  136. }

User avatar
Kristof
Fusionista
Posts: 787
Joined: Thu Aug 07, 2014 1:30 pm
Answers: 2
Been thanked: 24 times

Re: wavy text

#6

Post by Kristof » Fri Jul 31, 2020 1:33 am

Try pasting Sander's nodegraph into Fu9, the blur doesn't work. Did you make this in Fu16 perhaps? Interesting behavior...

User avatar
ShadowMaker SdR
Fusionista
Posts: 906
Joined: Sun Sep 21, 2014 6:17 am
Answers: 8
Been thanked: 39 times

Re: wavy text

#7

Post by ShadowMaker SdR » Fri Jul 31, 2020 1:35 am

It was made in 16 indeed. There is a new default blur mode

Code: Select all

Fast Gaussian 
that is absent in Fu9. It's a well documented backwards compatibility issue.

User avatar
ziggx
Posts: 48
Joined: Tue Dec 30, 2014 10:26 am

Re: wavy text

#8

Post by ziggx » Fri Jul 31, 2020 1:47 am

Hey Sander,

That's a cool way of achieving the effect - I think that might be the way to go. Thanks mate!

@Millilab - very helpful vido - Thank you.

Ziggx

User avatar
Kristof
Fusionista
Posts: 787
Joined: Thu Aug 07, 2014 1:30 pm
Answers: 2
Been thanked: 24 times

Re: wavy text

#9

Post by Kristof » Fri Jul 31, 2020 2:41 am

ShadowMaker SdR wrote:
Fri Jul 31, 2020 1:35 am
It's a well documented backwards compatibility issue.
Is that your way of telling me I should have known that? :)

I don't run 16 so I didn't.

User avatar
ShadowMaker SdR
Fusionista
Posts: 906
Joined: Sun Sep 21, 2014 6:17 am
Answers: 8
Been thanked: 39 times

Re: wavy text

#10

Post by ShadowMaker SdR » Fri Jul 31, 2020 5:05 am

Kristof wrote:
Fri Jul 31, 2020 2:41 am

Is that your way of telling me I should have known that? :)
Yes it was, in a very nice passive agressive kind of way. (and since you're on the forum this much, I sort of expected you to have come across this before)