[UNITY] Атласы спрайтов

n.fridman
19 Oct 202007:54

Summary

TLDRThis video script discusses the concept of sprite atlases in game optimization, explaining how they are large images containing multiple smaller images to reduce the number of draw calls in 2D game rendering. The creator apologizes for a long absence due to transferring colleges and gathering documents. The tutorial covers two methods of creating sprite atlases: Unity's built-in packing and manual creation in graphic editors like Photoshop. It provides step-by-step instructions for both, including enabling sprite packing, creating an atlas, and using the Sprite Editor for manual slicing. The script concludes with tips on organizing sprite atlases for optimal game performance, emphasizing the balance between atlas size and graphic quality.

Takeaways

  • 😀 The speaker apologizes for their absence due to transferring from one college to another and gathering documents for the military enlistment office.
  • 🏫 They mention living far from the city, which limited the time available for creating videos.
  • 📚 Today's topic is about 'atlases and sprites', which are large images containing multiple smaller images, commonly used to optimize games and reduce the number of draw calls per frame.
  • 🎮 In a 2D game, each frame consists of images, and if they are stored separately, Unity will spend one draw call per image, leading to high hardware load and low FPS.
  • 🔄 To demonstrate, the speaker opens a Unity scene and enables frame debugger to show the rendering process of each frame, highlighting the inefficiency of multiple draw calls.
  • 🛠️ Creating an atlas can be done in several ways, including Unity's built-in sprite packing mechanism or manually creating a large image in Photoshop or Illustrator and then slicing it into sprites within Unity.
  • 🔧 The process of creating an atlas in Unity involves enabling Sprite Packer in Project Settings, creating a Sprite Atlas, and locking the inspector to prevent it from opening when selecting images.
  • 🔄 The speaker disables 'Pivot and Size' to prevent Unity from rotating sprites within the atlas, which can help with packing density but may cause sprite contours to overlap.
  • 📈 They show how to drag and drop sprites into the atlas and use the 'P' key to preview the atlas, noting that the frame debugger still shows the same number of draw calls, indicating no immediate performance improvement.
  • 📊 The speaker compares the performance before and after creating an atlas, noting a significant reduction in draw calls, which can improve game performance.
  • 📘 A link to Unity's documentation on the built-in sprite packer is provided for further reading on the tool's features and how to use it effectively.
  • 🖼️ For external atlas creation, the speaker recommends using graphic editors like Photoshop or Illustrator to manually pack images, then import the large atlas image into Unity and slice it into sprites using the 2D Sprite Editor.
  • 🔑 Tips for using sprite atlases include packing all possible sprites that are frequently used within a single screen's view, such as buttons, icons, game elements, character animations, and enemies, to optimize rendering and reduce hardware load.
  • 📏 The ideal atlas size is up to 2048x2048 pixels, balancing between the quality of graphics and the atlas size to avoid excessive texture blurring while minimizing the load on the device.
  • 📝 The speaker concludes with advice on grouping sprites in atlases based on their usage within a single screen and the importance of finding a balance between atlas size and graphic quality.

Q & A

  • Why was the video creator absent for a long time?

    -The video creator was absent due to the need to transfer from one college to another and gather a lot of documents for the military enlistment office, as they live quite far from the city, leaving almost no time for video production.

  • What is the main topic of the video?

    -The main topic of the video is about atlases and sprites, explaining how large images containing multiple smaller images are used to optimize games and reduce the number of draw calls for rendering each frame.

  • How do sprites in a 2D game affect performance?

    -In a 2D game, each frame consists of images. If all images are stored as separate files, Unity will spend one draw call for each image to render, which can lead to a high load on the hardware and a low frame rate (fps).

  • What is the purpose of using an atlas in game development?

    -Using an atlas in game development helps to reduce the number of draw calls by combining multiple images into a single large image, thus optimizing the game and potentially increasing the frame rate.

  • How can you create a sprite atlas in Unity?

    -You can create a sprite atlas in Unity using the built-in mechanism for packing sprites or by manually creating a large image in a photo editor like Photoshop or Illustrator and then slicing it into individual sprites within Unity.

  • What is the 'Pivot' setting in Unity's sprite settings, and what does it control?

    -The 'Pivot' setting in Unity's sprite settings determines the point around which the sprite rotates. Disabling 'Pivot' tracking prevents Unity from rotating the sprites within the atlas, which can be useful for maintaining the layout of the atlas.

  • How does the video creator demonstrate the effectiveness of using a sprite atlas?

    -The video creator demonstrates the effectiveness by showing the frame debugger in Unity before and after creating a sprite atlas, highlighting the reduction in draw calls from 25 to 8.

  • What is the recommended size for a sprite atlas in Unity?

    -The ideal size for a sprite atlas in Unity is up to 2048 by 2048 pixels, as larger atlases can take more time to process and put more load on the device.

  • What are some tips for organizing sprites in a sprite atlas?

    -The video suggests packing all that can be packed, especially what is frequently used within one screen of the game, and organizing atlases in a way that all sprites in the atlas are used on the scene at the time of rendering for optimal performance.

  • How can you manually create and import a sprite atlas in Unity?

    -You can manually create a sprite atlas by packing images into a large image using a photo editor, then importing this image into Unity and using the 2D Sprite Editor to slice it into individual sprites.

  • What is the 'Sprite Mode' setting in Unity's sprite settings, and when should you change it?

    -The 'Sprite Mode' setting in Unity's sprite settings should be changed from 'Single' to 'Multiple' when you want to divide a large atlas image into multiple smaller sprites within the 2D Sprite Editor.

Outlines

plate

This section is available to paid users only. Please upgrade to access this part.

Upgrade Now

Mindmap

plate

This section is available to paid users only. Please upgrade to access this part.

Upgrade Now

Keywords

plate

This section is available to paid users only. Please upgrade to access this part.

Upgrade Now

Highlights

plate

This section is available to paid users only. Please upgrade to access this part.

Upgrade Now

Transcripts

plate

This section is available to paid users only. Please upgrade to access this part.

Upgrade Now
Rate This

5.0 / 5 (0 votes)

Related Tags
Unity OptimizationSprite AtlasGame DevelopmentGraphics APIRendering Efficiency2D GameAsset PackingPerformance TipsVideo TutorialUnity Engine