Development of Three-Dimensional Models of Mining Industry Objects

Visualization of objects using computer programs can greatly facilitate the external presentation of projects of coal industry enterprises. Modern computer graphics make it possible to embody very realistic models, and since the creation of 3D objects takes less time than their implementation. 3D technologies allow you to present the model from all angles and eliminate the shortcomings identified in the process of its creation. Successfully implemented tasks in this work include: creation of a 3D model of the selected RoadHeader; importing the developed model into the Unity 3D game engine; create and customize animations for the above harvester model inside Unity. The 3D model created in this work for visual display of the equipment used in the development of coal deposits in the mining industry contributes to the improvement of the process of training specialists and work planning when training personnel to work with drilling equipment at the training stage. The presented development can serve as a visual representation in the study of the principles of mining machines, as well as in the creation of 3D objects and scenes for the tutorial "Virtual


Introduction
The mining industry of the Russian Federation currently forms its financial resources mainly through the sale of products. After a long period of a sharp decline in production volumes in the course of restructuring, in recent years, there has been a tendency for an increase in the extraction of minerals and the technical and economic indicators of the mining industry. The government of the country has adopted the Energy Strategy of Russia for the Period up to 2030, which plans to increase coal production to 450-650 million tons and increase its share in electricity production from 44 to 56%.
To fulfill this strategic task in the specified period, it will be necessary to ensure a twofold increase in the production capacity of enterprises in the industry, both through the modernization of existing ones and the construction of new enterprises for the extraction of coal and other minerals. The growth of capacities in the period up to 2022 will occur due to technical re-equipment, and in the period 2022-2030, due to a radical change in the technical level of mining.
The concentration of mining production in promising mines of the coal industry due to the technical re-equipment of treatment facilities requires significant changes in the conduct of preparatory work. And first of all, this applies to the progressive harvester method. The level of combine penetration by leading coal companies (MC Kuzbassugol, MC Kuznetskugol) ranges from 72 to 98% at the end of 2021.
The fleet of roadheaders in the coal industry is about 500 units (about 250 of them are located in Kuzbass). The basis of this park is the combine harvesters of the GPCS type produced by the Kopeysk Machine-Building Plant.
The RoadHeader was chosen as the object of 3D modeling. The well-known roadheader (KSP 35), depending on the place of operation and the preferences of customers, can have various modifications, therefore, the appearance of the same model may differ. The model presented above (and specifically it was chosen as the object of modeling) was manufactured in the shops of the Yasinovatsky machine-building plant.
Operating conditions KSP 35. The combine was created to work in difficult conditions: strong rocks, low yield. Specifically, this RoadHeader is designed for: -Conducting workings both in mine conditions and for the construction of tunnels and other mining facilities of a similar purpose.
-For mechanized destruction of the face and loading of rock mass during horizontal and inclined mine workings. -Work in mines hazardous for gas and coal dust.
The huge advantage of this model of the harvester is that, due to its size, it is able to produce workings with a minimum height of 2.3 meters. At the same time, it significantly reduces the cost of destruction and transportation of rocks. As a result, this medium-heavy machine is deservedly popular among the miners of Donbass, Kuzbass and Kazakhstan [1,2,16].
In accordance with safety precautions, the combine can be controlled using a remote control. To ensure remote operation, control units are installed on the body of the combine, which receive signals from the console and transmit commands to the corresponding units of the machine. The movement of the harvester is provided by a hydraulic system, the commands of which are also given using the remote control [3,4].
The undercarriage with a four-stage travel reducer, to simplify the design, is devoid of linear rollers, there are only 3 deflector guide rollers. Track chain -moves along the bottom of the trolley, which is reinforced with sheets of hardened steel. Such an architecture of the structure simplifies the design and increases the overhaul interval, which, of course, depends on the operating conditions of the combine, but it is argued that even in field workings, that is, in a continuous rock face, the combine is capable of working out several kilometers of penetration, moreover, along the maximum section [5].

Method used
Selecting the type of modeling for creating a three-dimensional object.
Polygonal modeling is considered classic. The main idea of this method is simple, and therefore understandable, because its essence involves editing the location of the vertices of polygons in 3D space. Using this method, you can create an object of any complexity by connecting groups of polygons, this method was chosen for use in this work to create a model. Therefore, to create the model required in the final work, it was the High-poly type of modeling that was used [5,6,17,18].
Graphic materials for building a model.
To achieve this goal, first of all, it is necessary to find materials, based on which you can get a detailed idea of the appearance of the modeled object. Alternatively, in other words, "references" are needed. Below are some of the images used in the process of creating a 3D model.  Then, when the toolkit for creating the model is selected and at the same time, the references necessary for the correct perception of the appearance of the object are present, you can proceed to the step-by-step development of the model.
Combine model development.
The model development process can also be divided into stages; the following parts will be modeled separately: • The undercarriage with a four-stage travel reducer, to simplify the design, is devoid of linear rollers, there are only 3 deflector guide rollers. Track chain -moves along the bottom of the trolley, which is reinforced with sheets of hardened steel. • The executive body is mounted on a swing frame. Which in turn rotates on bearings. At the same time, it is equipped with a cutting crown with a diameter of 950 mm, which is optimal for working with rocks of medium hardness and hard rocks. It is fixed with a borer. • The important part is the feeder. The crown beats off the breed, it is "taken over by the feeder." Two rotating stars of the feeder load the destroyed rock onto a scraper conveyor. A larger volume of the model will be occupied by the body. On the left, it has a control device with an automation system and a power unit, in which high voltage diverges through the combine engines, low voltage through lamps, etc. [7,19]).
On the right side of the combine is a hydraulic unit with a capacity of 850 liters and a pump unit with safety valves, which are responsible for the performance of the entire hydraulic system in the machine.
Customizing the appearance of the model. Blender contains an excellent editor for customizing the appearance of 3D objects. Thanks to technical means such as materials. Especially appreciated that the setting can be done by means of "nodes of the system," which is very popular, with the ability to customize almost any look. Import to Unity. Before importing into Unity, you need to export the model in the required extension. Usually * .FBX is used for this. There may also be a problem with direct import, it is associated with a different association of coordinates. More specifically, in the blender program, the vertical coordinate is considered to be the Z coordinate, in the Unity engine, on the contrary, the vertical coordinate is Y, and therefore, obviously, there will be problems during import that will need to be solved one way or another.
Create and customize animations.
The process for creating animations in Blender and Unity is very similar. Both programs support creating animation frame by frame and through rigging, so it might make sense to create some animations in Blender and then import them into Unity.

Results and Discussion
Step-by-step 3D modeling.
Most part models have axes showing the direction of their normals [8,9].
In the process of implementing the track elements for the caterpillar, many options were created, below are 4 of them. The latter is currently being used in the model [10,11].
Harvester feeder: The feeder is a part for receiving the destroyed rock, and further immersion on the conveyor.
The feeder model, like most of the modeled parts, is symmetrical. The density of the polygonal mesh is 232 thousand polygons.
Combine working body: The working body of the combine is equipped with a cutting bit with a diameter of 950 mm.
Together with the model of the cutting crown, the polygonal mesh of the working body has 150 thousand polygons.
Casing with a platform for the conveyor: On the left side of the casing there is a control unit, opposite to it there is a hydraulic unit, a platform for the conveyor is shown below, and a reloader is also attached to the casing at the back.
A tool called "Constraint" was used to shape the conveyor model. By choosing the Follow path parameter, you can use it to position objects on the created curve. Similarly, a model of the track was created [12,13].
General appearance of the model. Below is the general geometry of the entire harvester model, in total it has 1 million 730 thousand polygons.  To create an animation, it is enough to select the desired moment in time on the Timeline, and bind a keyframe -that is, to create an association of any transformation of the selected object with a moment in time. Thus, at the required moments in time, the model can be controlled: location, angle of rotation along any of the axes, as well as size using a scale [14,15].
For model animation, "Frame rate", that is, the refresh rate of images, is set to 24 frames, the total length of the total animation is 120 frames, which is equivalent to 5 seconds.
Animation of the executive body. To create animation frame by frame, you first need to set a keyframe for the start position and the start angle of rotation -the transformation of the object at time 1. Then, select another point on the timeline, perform the desired deformation and add it as a keyframe. Thus, the program only knows the transformation values at specific points in time. The animation is created due to the fact that the average values of the transformation are calculated, overlapping the time interval between the selected points with keyframes.
In this case, the angle of rotation of the crown, as well as movement, is performed along the X axis, therefore, you can limit yourself only to this axis. Thus, at the initial time, the angle of rotation is 0 degrees, and the position is 4.6 meters along the X-axis. At the intermediate point in time 60, the angle of rotation along the X-axis is 583 degrees, and the position along the same axis is 5.4 meters. After time point 60, the extended crown returns to its old position while rotating. Therefore, at the end point of time 120, the position along the axis is set the same as at the start time 4.6 along the X axis, and the rotation angle is -1180 degrees along the X axis. In the same way, the animation of the part of the executive body extending along with the crown occurs. It only changes its position along the X axis, and does not rotate.
Animating the Feeder Stars. The difficulty in creating stop-motion animation for this part is that the stars are located at an angle to each of the axes (X, Y, Z). Therefore, when they rotate around their own axis, at each moment of time, all three axes change. Moreover, for each star in a different way.
To work with objects, in such cases, Blender provides a setting that allows you to replace the orientation of the axes with the one that suits a particular object. In this case, the horizontal and vertical along which the deformation of the edited model is determined will be determined relative to the normals of a particular object.
Thus, for such objects, you can create animation frame by frame in the usual way, but the difficulty is that due to complex deformation (all three axes change at the same time), the program may incorrectly calculate the behavior of the object in intermediate time intervals between key frames. To eliminate this, it is worth placing keyframes on the timeline with a higher frequency. As a result, 33 keyframes were used to create the animation of the rotation of the stars (1 keyframe at each time point on each axis) with a step of 12 frames on the timeline.
Creating a pipeline animation. Since the conveyor model was created using the Constraint tool described earlier, the position of its elements depends on the curve used. To move the elements associated with the curve, there is an adjustable "Offset" characteristic, by changing which, you can move the elements along the curve. That is, at the initial moment of time, a keyframe is created for each element with an initial offset. Then at time 120 each element is shifted by 50 units of the "Offset" characteristic.
Animation of the undercarriage. Undercarriage animation involves the movement of the track as well as the rotation of the gear. The animation for the movement of the caterpillars was created in two alternative ways. Just like a conveyor model using the Constraint tool (with the "Armature" tool, also called "bones").
Animating a Track with the Constraint Tool. The process of creating the shape for the caterpillar model, as well as its animation, is identical to how it was done for the conveyor model. First of all, the initial Offset parameter must be set as the first frame on the timeline, designating it as a key, then, changing the Offset parameter for each track element by 50 units relative to frame 120, as a result, the animation will be built. Animating the track with the Armature tool. Each Armature, called a bone, can manipulate a specific object, and the degree of influence is adjusted using the Weight parameter. The process of creating such skeletons is called "Rigging". However, in this case, it is more convenient to use a separate Armature object for each specific track. This way of creating animations is more convenient for export and use in the Unity engine.
Thus, a separate bone is used for each track. The peculiarity of this tool is also that it has a special "Pose" mode designed for editing the position of bones. The animation process is to move the bones in pose mode, while adding keyframes on the timeline. Creating the final scene. For the final scene, an impromptu environment was created and light sources were placed. For lighting, 3 lamps are used, the luminous intensity of each is set at 300 watts. The lighting color for the lamp on the right is orange, for the lamp on the left it is dark blue, this is done in order to combine warm and cold tones in the scene.
Also, for the scene, a texture was created for the surface object, and materials were applied -foliage and a trunk for trees and bushes.
Setting up a scene in Unity.
To set up the scene, you first need to import the environment created in Blender in addition to the model.
Then, place the environment and model of the combine in the scene. Then, place the camera and light, which are pre-positioned in the standard scene. To customize the animation, you need to create an object called "Animator Conroller" in Unity. To add this element to the desired folder, right-click while in the required folder, select the "Create" item and specify the "Animator Controller" element.
Clicking on the Animator Controller object opens the "Animator" tab, which displays the states of the object associated with animations. Each added state can be assigned a specific animation, from those that were imported earlier, along with the model. By default, several states are pre-created in the Animator tab, the most important of which is called "Entry". By associating your own state with it, you can specify a standard animation that is played when idle.
To set up animation, 3 states have been added to Animator: • "Idle" -this state uses a looping idle animation, which is often required when the model is in a conditionally idle state. It is this state that is associated with Entry, and is used as a standard.
• "Main_anim" -state for animation of the executive body, stars of the feeder and conveyor. -(they spin, but there is no movement).
• "Go" -Stores the animation of the chassis of the combine model. Also, to configure, you should create parameters of the "Bool" type (boolean -logical), which will be associated with the states. The use of such parameters, when writing a script, will make it possible to conveniently manipulate states when transitioning from one to another. For each animation, an associated Bool parameter was created: "isGoing" for the Go state, "isIdle" for the Idle state, and "isWorking" for the Main_anim state.
To link the created animation controller and the required model, you need to select it in the scene, and in the Animator section, select the controller created earlier.