Advertisement
Jiysea

Naol Stars Thing

Jul 17th, 2022 (edited)
1,180
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 2.14 KB | None | 0 0
  1. // Imports: just place them on the very top
  2. using StorybrewCommon.Storyboarding3d;
  3. using StorybrewCommon.Animations;
  4. //
  5.  
  6. public void GenerateGalaxy(String filepath, double startTime, double endTime, double scale, int particleCount, double fadeOpacity, double fadeInDuration)
  7.         {
  8.             // Constants: don't change
  9.             int width = 1000;
  10.             int height = 1000;
  11.  
  12.             // Declarations: don't touch
  13.             Scene3d scene = new Scene3d();
  14.             scene.Root.PositionX.Add(startTime, 0);
  15.             scene.Root.PositionY.Add(startTime, 0);
  16.             scene.Root.PositionZ.Add(startTime, 0);
  17.  
  18.             PerspectiveCamera camera = new PerspectiveCamera();
  19.             camera.PositionX.Add(startTime, 0);
  20.             camera.PositionY.Add(startTime, 0);
  21.             camera.PositionZ.Add(startTime, 100);
  22.             for (int i = 0; i < particleCount; i++)
  23.             {
  24.                 Sprite3d sprite = new Sprite3d
  25.                 {
  26.                     Layer = GetLayer("Foreground"),
  27.                     SpritePath = filepath,
  28.                     UseDistanceFade = false
  29.                 };
  30.  
  31.                 // Sprite Positions
  32.                 sprite.PositionX.Add(startTime, Random((float)-width, (float)width));
  33.                 sprite.PositionY.Add(startTime, Random((float)-height, (float)height));
  34.                 sprite.PositionZ.Add(startTime, Random((float)-width, (float)width));
  35.  
  36.                 // Scaling
  37.                 sprite.ScaleX.Add(startTime, (float)scale);
  38.                 sprite.ScaleY.Add(startTime, (float)scale);
  39.                 sprite.ScaleZ.Add(startTime, (float)scale);
  40.  
  41.                 // Fade In
  42.                 sprite.Opacity.Add(startTime, 0).Add(startTime + fadeInDuration, fadeOpacity);
  43.  
  44.                 // Compile Everything
  45.                 scene.Add(sprite);
  46.  
  47.             }
  48.             // Don't touch either except the Easing
  49.             scene.Root.PositionZ.Add(endTime, 600, EasingFunctions.ToEasingFunction(OsbEasing.InQuint));
  50.  
  51.             scene.Generate(camera, GetLayer("Foreground"), startTime, endTime, Beatmap.GetTimingPointAt((int)startTime).BeatDuration / 4);
  52.         }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement