Advertisement
Guest User

Untitled

a guest
Jan 17th, 2017
79
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.30 KB | None | 0 0
  1. private void AddRowOfSprites(MeshData data,
  2. float startV, float startScale, Vector3 startPos, Vector3 startDir, Color startColor,
  3. float endV, float endScale, Vector3 endPos, Vector3 endDir, Color endColor) {
  4. Vector3 startRightAngle = new Vector3(startDir.z, startDir.y, -startDir.x);
  5. Vector3 endRightAngle = new Vector3(endDir.z, endDir.y, -endDir.x);
  6.  
  7. // Split count defines how many sprites in a row would be created
  8. int splitCount = 5;
  9.  
  10. Vector3 startLeft = startPos - startRightAngle * ((float)splitCount) * 0.5f * startScale;
  11. Vector3 endLeft = endPos - endRightAngle * ((float)splitCount) * 0.5f * endScale;
  12.  
  13. for (int i = 0; i < splitCount; i++) {
  14. QuadData quadData = new QuadData();
  15. quadData.v0 = startLeft + startRightAngle * startScale * i;
  16. quadData.v1 = startLeft + startRightAngle * startScale * (i + 1);
  17.  
  18. quadData.v2 = endLeft + endRightAngle * endScale * (i + 1);
  19. quadData.v3 = endLeft + endRightAngle * endScale * i;
  20.  
  21. quadData.minUV = new Vector2(((float)i) / ((float)splitCount), startV);
  22. quadData.maxUV = new Vector2(((float)i + 1) / ((float)splitCount), endV);
  23.  
  24. quadData.c0 = startColor;
  25. quadData.c1 = startColor;
  26. quadData.c2 = endColor;
  27. quadData.c3 = endColor;
  28.  
  29. MeshData.AddSingleSprite(data, quadData);
  30. }
  31. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement