Study notes (7): special effects system

1. What are special effects?
In the environment where I work, special effects basically refer to particle effects. But a more general definition should mean adding some uncommon performances in order to reflect some special effects in the game. These performances include but are not limited to scene light and shadow special effects, UI performance special effects, skill special effects, rain, sand and so on.

2. The problem of special effects in the use of projects is
not perfect. There is a universal special effects system, which causes each project to manually rebuild a similar system suitable for its own project during operation, or not to build the system at all, which causes the development efficiency to be reduced. . However, for most games currently on the market, the application of special effects is extremely wide, and it is indeed meaningful to build a special effects system. The uncertainty of the definition of the special effects system and the difficulty of abstraction are also one of the reasons why there is no special effects system.

3. How to abstract the function of a special effects system?

a. Analyze what are the "special effects" in the actual project?

  • UI effects (in some cases the same as material effects)
  • Particle effects (actions, skills, enchanting, etc.) Material effects (character color changes, etc.)
  • Post-processing (depth of field, halo, etc., there is no such content in the front of the course, but the lens management is mentioned in the system design later, lens management generally includes camera processing and post-processing)

b. What are these "special effects on the game"?

  • Enhanced feedback (UI novice guide special effects)
  • Enhance visual performance (skill performance)
  • Special effects performance (boss shape and color in different stages, vegetation burning and disappearing, depth of field effect)

c. What form of resources are used for these "special effects"? (The format varies by engine)

  • image
  • Shader file (Generally speaking, all the rendering content in the engine is related to the shader, because considering that there are some traditional game frameworks, the shader is taken out as a form here)
  • Particle file
  • Integrated in the engine, no separate files (tail rendering, post-processing)

d. Analyze common points

  • Pure performance
  • There is generally no interaction from beginning to end, and no input is received
  • Change over time

e. Summary
The non-linear arrangement of multiple performance effects in the same fixed time interval

  • Fixed timeline animation drive
  • Support diversified mixed editing functions of performance effect elements
  • Provide a non-linear arrangement function for multiple performance elements in the same time axis

4. Implementation of general UI special effects

  • Frame-by-frame animation (N pictures are played in a loop, with many resources and large space)
  • UV animation

5. Realization of general skill special effects (such as knife light)

  • Mesh patch + UV animation (need to generate a transparent patch first)
  • Trail trailing effects (provided by the engine, no need to generate Mesh grid in real time)
  • Particle special effects (particle consumption is generally higher)

6. The effect of soul adsorption realizes
Particle particles, and their position is updated every frame

7. Realization of dust when walking.
Generally, in the animation editing interface of the engine, you can directly add particle effects (or other event notifications) in a certain frame of the action, and add the dust effect to adjust the position offset. If you want to keep consistent with the body position, you also need to bind it to a fixed bone joint

8. Comparison between a simple non-abstract special effects system and a complex special effects system
Due to the project development cycle and cost, we have to judge whether we need to build a complex system based on the situation.
Simple:

  • Fixed time axis animation drive
    Implementation method: give up this function and directly use the start of a fixed event as the starting time (this is done in many games)
  • Supports diversified mixed editing functions of performance effect elements
    Implementation method: does not provide unified functions, directly uses the editing environment of the performance effect elements themselves
  • Provides a non-linear arrangement function for multiple performance effect elements in the same time axis.
    Implementation: Through the configuration table, directly configure each performance element relative to the fixed start time in 1

Simple and non-abstract special effects system issues:

  • Every time a new gameplay is added, a new fixed event needs to be added to drive it, while processing related logic
  • The special effects are separated, it is not convenient to manage, and it is necessary to switch back and forth between multiple gadgets
  • The configuration content is constantly added as the project progresses, resulting in an increase in the cost of modification, and some configurations need to be tested in a specific game environment

complex:

  • Fixed timeline animation drive
    realization method: Provide a unified timeline-based special effects control system, abstract each drive element (similar to the effect of a video editing software, the so-called drive element is to encapsulate a manageable special effect clip, which can be directly Processing engine related special effects elements)
  • Supports diversified performance element mixing and editing function
    implementation method: separately provide the driving element of each performance element, summarized into the unified management of the special effects control system (video track and audio track in category video, multiple tracks can be processed separately content)
  • Provide a non-linear arrangement function
    implementation method for multiple performance effect elements in the same time axis : provide a non-linear editing function of the drive element in the special effect control system (non-linear means that the change is not linear over time, you can quickly follow This effect)
  • WYSIWYG editing environment
    Implementation method: Provide UI-based editing environment
  • The overall preview
    implementation method of a variety of different performance elements : the basic system of all visual elements can be pulled up in the UI editing environment (for example, the modified particle effect can be seen immediately after the normal engine editing, and you need to make this effect appear to you immediately Special effects system)
  • Quick and quick modification feedback
    Implementation method: All performance element parameters support serialization schemes, and drive elements support real-time modification feedback
  • Provide a more unified basic editing environment
    Implementation method: unified design of driver element interface. (Easy to migrate from one engine to another)

9. Judge the quality of a game system design
a. The size of the system load (will it cause too much extra cost because of being too complicated)
b. Whether it is convenient for multiple people to develop
c. Whether it is convenient for testing
d. To be convenient for specific Use by people

10. A little experience in programming.
Don’t do too much design, because your code always has areas that can be optimized. In actual situations, practical test feedback is often better than pure ideas.

11. About serialization The
serialization function is to output the object in the form of a byte stream. Almost all the save functions in the game use serialization.

12. Contents closely related to
the special effects system The special effects system was analyzed in the video above, but in fact his special effects system not only contains special effects, but also contains two contents of lens management and sound effect management.
In fact, the instructor has integrated the basic performance content of the game into its special effects system. It may be because the lens and sound effects are closely related to the special effects. If they are separated, it will inevitably lead to various problems such as performance mismatch and complicated operations.

13. The functions that a qualified system bus should have
a. Code editing
b. Visual resource editing window
c. Provide a large number of performance effects
d. Provide a complete set of editing element serialization solutions
e. Provide resource management solutions
d. Agreed construction Process
f. Previewable operating environment

Summary : guided analysis and completed a tool to increase the efficiency of art planning and development, which has nothing to do with the specific engine.
In different projects, everyone has different requirements for tools, so there are often people from the engine team responsible for the development of related tools. The special effects system tools in the video seem to be based on Unity. If you switch to an immature engine, it may be difficult to transplant. In addition, any tool may be meaningful in some projects, but it does not mean that any project is suitable.
Reprinted from the original link (please indicate if reprinted): http://blog.csdn.net/u012999985/article/details/79090524

Guess you like

Origin blog.csdn.net/qq_43801020/article/details/108947861