Model conversion method and device, electronic equipment and storage medium

CN117839216BActive Publication Date: 2026-09-29NETEASE (HANGZHOU) NETWORK CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202410138525.5
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-01-31
Publication Date
2026-09-29
Estimated Expiration
2044-01-31

AI Technical Summary

Technical Problem

[0004]本发明实施例是提供一种模型的转换方法、装置、电子设备以及计算机可读存储介质,以解决或部分解决无法将低面模型转换为高面模型的问题

Benefits of technology

在本发明实施例中,在模型的转换过程中,尤其是将虚拟对象的低面模型转换为高面模型时,在获取了虚拟对象的低面模型之后,可以响应于针对低面模型的细分指令,从低面模型中选择需要进行细分的细分区域,并为细分区域添加对应的顶点色,并根据顶点色对应的权重值,对细分区域进行平滑细分,获得虚拟对象的细分模型,然后根据低面模型的第一顶点数据和细分模型的第二顶点数据将第二顶点数据映射至低面模型上,获得虚拟对象的高面模型,从而通过在低面模型上选择需要细分的细分区域,并基于顶点色实现自定义权重以精准控制转换后高面模型的顶点数,增加了模型的细节、平滑度,同时通过将细分后的模型的顶点数据映射到低面模型上,得到相应的高面模型,保持了模型的整体外形不会发生较大的改变,以及通过自动化的模型转换,有效降低了人工修改模型的成本。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN117839216B_ABST
    Figure CN117839216B_ABST
Patent Text Reader

Abstract

Embodiments of the present application provide a model conversion method and device, electronic equipment and storage medium, and relate to the technical field of game resource processing. The method comprises: obtaining a low-surface model of a virtual object; in response to a subdivision instruction for the low-surface model, selecting a subdivision region from the low-surface model; adding a corresponding vertex color to the subdivision region, and performing smooth subdivision on the subdivision region according to a weight value corresponding to the vertex color, to obtain a subdivided model of the virtual object; and mapping second vertex data of the subdivided model to the low-surface model according to first vertex data of the low-surface model and the second vertex data, to obtain a high-surface model of the virtual object. Customized weights are realized based on vertex colors to accurately control the number of vertices of the high-surface model after conversion, thereby increasing the details and smoothness of the model and keeping the overall shape of the model from changing greatly.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of game resource processing technology, and in particular to a model conversion method, a model conversion device, an electronic device, and a computer-readable storage medium. Background Technology

[0002] Game assets refer to the various resources and elements used in a game, including but not limited to character models, scenes, special effects, sound effects, animations, props, equipment, music, background images, etc. These game assets are essential components for building the game world, showcasing game content, and providing the gaming experience. Different types of games may have different types of game assets. For example, in role-playing games, game assets may include various character models, weapons, equipment, and skill effects; in adventure games, game assets may include various scene backgrounds, props, and puzzle elements; in competitive games, game assets may include cars, props, and tracks, etc.

[0003] For game assets, cross-platform packaging and distribution are usually required based on the memory and performance specifications of different platforms. In related technologies, high-polygon model assets can usually be made backward compatible by reducing the number of polygons at each level. However, in some mobile game projects, when it is necessary to distribute low-polygon model assets to high-performance devices such as PCs, it is necessary to improve the detail and accuracy of the model assets. Summary of the Invention

[0004] The present invention provides a model conversion method, apparatus, electronic device, and computer-readable storage medium to solve or partially solve the problem of being unable to convert low-polygon models into high-polygon models.

[0005] This invention discloses a model conversion method, comprising: Obtain the low-poly model of the virtual object; In response to a subdivision command for the low-poly model, a subdivision region is selected from the low-poly model; Add corresponding vertex colors to the subdivided regions, and smoothly subdivide the subdivided regions according to the weight values ​​corresponding to the vertex colors to obtain the subdivision model of the virtual object; The second vertex data is mapped onto the low-face model based on the first vertex data of the low-face model and the second vertex data of the subdivision model to obtain the high-face model of the virtual object.

[0006] This invention also discloses a model conversion device, comprising: The model acquisition module is used to acquire the low-poly model of virtual objects; A region selection module is used to select a subdivision region from the low-poly model in response to a subdivision instruction for the low-poly model. The model subdivision module is used to add corresponding vertex colors to the subdivision regions and smoothly subdivide the subdivision regions according to the weight values ​​corresponding to the vertex colors to obtain the subdivision model of the virtual object; The model generation module is used to map the second vertex data onto the low-face model based on the first vertex data of the low-face model and the second vertex data of the subdivision model, so as to obtain the high-face model of the virtual object.

[0007] This invention also discloses an electronic device, including a processor, a communication interface, a memory, and a communication bus, wherein the processor, the communication interface, and the memory communicate with each other through the communication bus; The memory is used to store computer programs; When the processor executes a program stored in the memory, it implements the method described in the embodiments of the present invention.

[0008] This invention also discloses a computer-readable storage medium storing instructions that, when executed by one or more processors, cause the processors to perform the methods described in this invention.

[0009] The embodiments of the present invention have the following advantages: In this embodiment of the invention, during the model conversion process, especially when converting the low-face model of a virtual object into a high-face model, after obtaining the low-face model of the virtual object, in response to the subdivision instruction for the low-face model, the subdivision region to be subdivided can be selected from the low-face model, and the corresponding vertex color can be added to the subdivision region. Based on the weight value corresponding to the vertex color, the subdivision region is smoothly subdivided to obtain the subdivision model of the virtual object. Then, based on the first vertex data of the low-face model and the second vertex data of the subdivision model, the second vertex data is mapped onto the low-face model to obtain the high-face model of the virtual object. Thus, by selecting the subdivision region to be subdivided on the low-face model and implementing custom weights based on vertex colors to accurately control the number of vertices in the converted high-face model, the detail and smoothness of the model are increased. At the same time, by mapping the vertex data of the subdivided model onto the low-face model to obtain the corresponding high-face model, the overall shape of the model is not significantly changed. Furthermore, through automated model conversion, the cost of manually modifying the model is effectively reduced. Attached Figure Description

[0010] Figure 1 This is a flowchart illustrating the steps of a model conversion method provided in an embodiment of the present invention; Figure 2This is a structural block diagram of a model conversion device provided in an embodiment of the present invention; Figure 3 This is a block diagram of an electronic device provided in an embodiment of the present invention. Detailed Implementation

[0011] To make the above-mentioned objects, features and advantages of the present invention more apparent and understandable, the present invention will be further described in detail below with reference to the accompanying drawings and specific embodiments.

[0012] As an example, game resources need to be packaged and distributed across platforms according to their memory and performance specifications. For instance, platforms with high memory and performance can distribute game resources with high-quality image rendering, while platforms with low memory and performance can distribute game resources with lower-quality image rendering to ensure stable and smooth gameplay. For high-polygon models, backward compatibility can be achieved through progressive reduction of polygons. However, for converting low-polygon models to high-polygon models, related technologies typically involve directly adding corresponding triangles or quadrilaterals to the low-polygon model. However, directly increasing the number of polygons on the original model does not provide good smoothness, and using quadrilateral subdivision can also lose the overall outline of the original model, affecting its quality.

[0013] In this invention, during the model conversion process, especially when converting the low-face model of a virtual object to a high-face model, after obtaining the low-face model of the virtual object, in response to the subdivision instruction for the low-face model, the subdivision region to be subdivided is selected from the low-face model, and corresponding vertex colors are added to the subdivision region. Based on the weight values ​​corresponding to the vertex colors, the subdivision region is smoothly subdivided to obtain the subdivision model of the virtual object. Then, based on the first vertex data of the low-face model and the second vertex data of the subdivision model, the second vertex data is mapped onto the low-face model to obtain the high-face model of the virtual object. Thus, by selecting the subdivision region to be subdivided on the low-face model and implementing custom weights based on vertex colors to precisely control the number of vertices in the converted high-face model, the detail and smoothness of the model are increased. At the same time, by mapping the vertex data of the subdivided model onto the low-face model to obtain the corresponding high-face model, the overall shape of the model is not significantly changed. Furthermore, through automated model conversion, the cost of manually modifying the model is effectively reduced.

[0014] Reference Figure 1 The diagram illustrates a flowchart of a model conversion method provided in an embodiment of the present invention, which may specifically include the following steps: Step 101: Obtain the low-face model of the virtual object; Virtual objects can be virtual characters in games, scene objects in game environments, virtual animals, etc. Scene objects can include buildings, vegetation, terrain, etc. By changing the polygon count of the model corresponding to the virtual object, the image precision of the model can be changed. The higher the polygon count, the higher the image precision, and the more realistic and detailed the image effect. Low-poly models, in particular, are a type of model used in computer graphics. They are typically composed of a set of simple geometric shapes (such as triangles) to represent complex objects or scenes. Compared to high-poly models, low-poly models have fewer polygons, thus allowing for faster computation and rendering.

[0015] Step 102: In response to a subdivision instruction for the low-poly model, select a subdivision region from the low-poly model; In this embodiment of the invention, after obtaining the low-poly model of the virtual object, the subdivision area that needs to be subdivided can be determined first. The subdivision area can be the area in the low-poly model that needs to have model faces added. It can often be the area in the model that has significant deformation. For example, the subdivision area can include at least one of the following: arm object, leg object, skirt object in the clothing worn by the virtual object, and ribbon object in the clothing worn by the virtual object.

[0016] Step 103: Add corresponding vertex colors to the subdivided regions, and smoothly subdivide the subdivided regions according to the weight values ​​corresponding to the vertex colors to obtain the subdivision model of the virtual object; Once the subdivision regions that need to be further subdivided are determined, corresponding vertex colors can be added to these regions. This allows for smooth subdivision of the regions based on the weight values ​​associated with the vertex colors, resulting in a subdivided model of the virtual object. Vertex colors can be any color, with the intensity of the color representing the magnitude of the weight value. Regions in the low-poly model with added vertex colors can undergo appropriate subdivision processing, while regions without added vertex colors retain their current number of faces.

[0017] The darker the vertex color, the greater the weight value, and the more model faces are added; the lighter the vertex color, the smaller the weight value, and the fewer model faces are added. Therefore, during the subdivision of the low-poly model, model faces can be added to the subdivision area according to the weight value corresponding to the vertex color to obtain the subdivided model of the virtual object. Thus, by controlling the subdivision weight through custom vertex colors, the number of vertices in the converted high-poly model can be precisely controlled, increasing the detail and smoothness of the model.

[0018] Optionally, the conversion from a low-poly model to a high-poly model can be achieved using a corresponding model subdivision tool. Specifically, the corresponding graphics processing software is run on the terminal, and the low-poly model is imported into the software. An interactive interface is provided, allowing users to select the subdivision regions that need to be subdivided in the low-poly model. The user can then add corresponding vertex colors to the subdivision regions through the interactive interface provided by the tool and adjust the corresponding weights through the weight control controls. This allows for precise control of the model that needs to be subdivided locally by using vertex colors as weights, thus avoiding resource waste caused by subdividing the entire model.

[0019] In one example, for a low-poly model, if it is necessary to subdivide the clothing on the low-poly model, especially the skirt, the area corresponding to the skirt can be selected as the subdivision area from the low-poly model. Then, the corresponding vertex color is added to the skirt as the subdivision weight. Accordingly, the closer the area is to the end of the skirt, the higher the weight value, and vice versa. By using vertex color as weight, the model that needs to be subdivided locally can be precisely controlled, so as not to waste resources by subdividing the entire model.

[0020] Step 104: Map the second vertex data onto the low-face model based on the first vertex data of the low-face model and the second vertex data of the subdivision model to obtain the high-face model of the virtual object.

[0021] After the low-face model is subdivided and the subdivided model is obtained, since the subdivided model at this time only adds model patches to the corresponding subdivided areas, the resulting subdivided model has low smoothness and the overall shape of the model deviates from the low-face model. Therefore, it is necessary to further map the vertex data on the subdivided model to the low-face model to obtain the high-face model of the virtual object.

[0022] In this embodiment of the invention, the first vertex data of each first vertex in the low-face model and the second vertex data of each second vertex in the subdivision model can be obtained. Then, the second vertex data is mapped onto the low-face model based on the first vertex data of the low-face model and the second vertex data of the subdivision model to obtain the high-face model of the virtual object. Thus, by mapping the vertex data of the subdivision model onto the low-face model, the corresponding high-face model is obtained, which keeps the overall shape of the model from changing significantly. Furthermore, the cost of manually modifying the model is effectively reduced through automated model conversion.

[0023] In some feasible implementations, feature calculations can be performed using the first vertex data of the low-face model and the second vertex data of the subdivided model to obtain a weight coefficient matrix for the subdivided model. Then, the weight coefficient matrix is ​​used to map the second vertex data to the low-face model to obtain the high-face model of the virtual object. Thus, by mapping the vertex data of the subdivided model to the low-face model, the corresponding high-face model is obtained, which keeps the overall shape of the model from changing significantly. Furthermore, the cost of manually modifying the model is effectively reduced through automated model conversion.

[0024] In the specific implementation, the first vertex data includes the coordinates of the first vertices of each first vertex in the low-face model, and the second vertex data includes the coordinates of the second vertices of each second vertex in the subdivision model. The calculation of the weight coefficient matrix involves using the first vertex coordinates to calculate the linear or interpolated distance difference between vertices in the low-face model, and using the first and second vertex coordinates to calculate the vector difference between the coordinates of two related vertices in the low-face model and the subdivision model. Then, the distance differences are combined into a first sparse matrix, and the vector differences are combined into a second sparse matrix. Finally, the first and second sparse matrices are used to perform operations to obtain the weight coefficient matrix for the subdivision model. The vector difference can be used to characterize the difference between two vectors, representing the offset direction between the two models along three axes (such as the X, Y, and Z axes). The vector difference can also determine the offset parameters between the two models. Therefore, based on the distance difference and the vector difference, the corresponding weight coefficient matrix can be obtained. This weight coefficient matrix is ​​then used to map the vertex data from the subdivision model to the low-face model, resulting in the corresponding high-face model.

[0025] It should be noted that the vector difference and distance difference can be calculated based on the vertex coordinates of the vertices corresponding to the same position in the virtual object model. For example, the first target vertex at the end of the skirt in the low-face model and the second target vertex at the end of the skirt in the subdivision model can be calculated based on the vertex coordinates of the two vertices. The distance difference can be a scalar parameter, representing the absolute distance between two vertices in three-dimensional space, while the vector difference can be a vector parameter, representing the set of distance differences between two vertices in three-dimensional space on three axes (X-axis, Y-axis, and Z-axis, etc.). This invention does not impose any restrictions on this.

[0026] In one example, the coordinates of the first vertices of each first vertex can be combined into a first coordinate matrix, and the coordinates of the second vertices of each second vertex can be combined into a second coordinate matrix. Then, the first and second coordinate matrices are used to calculate the vector difference between two related vertices in the low-face model and the subdivision model. For example, the vertex coordinates of the low-face model can be stored in a matrix V1 of size N1*3, and the vertex coordinates of the subdivision model can be stored in a matrix V2 of size N2*3, where N1 can be the number of vertices in the low-face model and N2 can be the number of vertices in the subdivision model. Then, the two vertex coordinate matrices are used to calculate the three-dimensional vector relationship between vertices of different models at the same position in the virtual object. Specifically, assuming the vector relationship between the i-th vertex of the low-face model and the j-th vertex of the subdivision model is calculated, the position vector V1[i] can be subtracted from V2[j] to obtain the vector difference between the two vertices.

[0027] Once the weight coefficient matrix is ​​obtained, it can be operated on with the vector difference to obtain the offset value for the second vertex. Then, the coordinates of the second vertex are adjusted using the offset value to obtain the high-face model of the virtual object. Thus, by mapping the vertex data of the subdivided model onto the low-face model, the corresponding high-face model is obtained. This maintains that the overall shape of the model does not change significantly, and the cost of manually modifying the model is effectively reduced through automated model conversion.

[0028] It should be noted that the embodiments of the present invention include, but are not limited to, the examples described above. It is understood that those skilled in the art can make further settings according to actual needs under the guidance of the ideas in the embodiments of the present invention, and the present invention does not limit such settings.

[0029] In this embodiment of the invention, during the model conversion process, especially when converting the low-face model of a virtual object into a high-face model, after obtaining the low-face model of the virtual object, in response to the subdivision instruction for the low-face model, the subdivision region to be subdivided can be selected from the low-face model, and the corresponding vertex color can be added to the subdivision region. Based on the weight value corresponding to the vertex color, the subdivision region is smoothly subdivided to obtain the subdivision model of the virtual object. Then, based on the first vertex data of the low-face model and the second vertex data of the subdivision model, the second vertex data is mapped to the low-face model to obtain the high-face model of the virtual object. Thus, by selecting the subdivision region to be subdivided on the low-face model and implementing custom weights based on vertex colors to accurately control the number of vertices in the converted high-face model, the detail of the model is increased. At the same time, by mapping the vertex data of the subdivided model to the low-face model to obtain the corresponding high-face model, the overall shape of the model is not significantly changed. Furthermore, through automated model conversion, the cost of manually modifying the model is effectively reduced.

[0030] To enable those skilled in the art to better understand the technical solutions in the embodiments of the present invention, the following examples are provided for illustrative purposes: The process of transforming the overall role from a low-level model to a high-level model can include: 1. Use the script provided by the tool to start the Houdini Engine task process; 2. Use the model augmentation digital asset tool (HDA, Houdini Digital Asset). 3. Because smooth subdivision of the low-face model will change the shape of the model, the tool uses the RBF (Radial Based Function) algorithm to map the vertices of the smooth subdivided high-face model back to the corresponding low-face model, thereby ensuring that the overall shape of the model remains consistent. 4. Adjust the model subdivision density provided on the tool panel and bake repeatedly; 5. Bake the final product after determining the actual needs.

[0031] The process of subdividing high-face models based on user-defined weights can include: 1. First, use a graphics application to draw the corresponding vertex colors on the vertex color channels of the low-face model. The purpose is to use vertex colors as weights to accurately control the model that needs local subdivision without wasting resources by subdividing the entire model. 2. Use the script provided by the tool to start the Houdini Engine task process; 3. Invoke the digital asset tool for model enhancement; 4. The tool uses the vertex colors defined in the low-poly model as weights to smooth the subdivision model, while the parts with vertex colors of zero remain unchanged; 5. After the low-face model is smoothly subdivided, the shape of the model will be changed. The RBF algorithm is used to map all the vertices of the high-face model back to the corresponding low-face model. 6. Adjust the vertex colors of the model and the model subdivision parameters provided on the tool panel (bake repeatedly until you get a satisfactory result).

[0032] The process of ensuring that the UV channels of the high-surface model and the low-surface model remain consistent after smooth subdivision can include: 1. Use the script provided in the toolkit to start the Houdini Engine task process; 2. Use Houdini's digital asset tools; 3. Because the UV channels will also be smoothed after the low-poly model is smoothed and the original texture assets cannot be reused, the UV channels of the smoothed high-poly model are mapped back to the UV channels of the low-poly model through the RBF algorithm to ensure that the UV channels remain consistent. 4. Adjust the model subdivision density provided on the tool panel and bake repeatedly until a satisfactory result is obtained.

[0033] It should be noted that, for the sake of simplicity, the method embodiments are all described as a series of actions. However, those skilled in the art should understand that the embodiments of the present invention are not limited to the described order of actions, because according to the embodiments of the present invention, some steps can be performed in other orders or simultaneously. Furthermore, those skilled in the art should also understand that the embodiments described in the specification are preferred embodiments, and the actions involved are not necessarily essential to the embodiments of the present invention.

[0034] Reference Figure 2 The diagram shows a structural block diagram of a model conversion device provided in an embodiment of the present invention, which may specifically include the following modules: Model acquisition module 201 is used to acquire the low-face model of the virtual object; Region selection module 202 is used to select a subdivision region from the low-poly model in response to a subdivision instruction for the low-poly model; The model subdivision module 203 is used to add corresponding vertex colors to the subdivision region and smoothly subdivide the subdivision region according to the weight values ​​corresponding to the vertex colors to obtain the subdivision model of the virtual object; The model generation module 204 is used to map the second vertex data onto the low-face model based on the first vertex data of the low-face model and the second vertex data of the subdivision model, so as to obtain the high-face model of the virtual object.

[0035] In some feasible implementations, the model subdivision module 203 is specifically used for: Based on the weight values ​​corresponding to the vertex colors, model patches are added to the subdivision region to obtain the subdivision model of the virtual object; The larger the weight value, the more model patches are added.

[0036] In some feasible implementations, the model subdivision module 203 is specifically used for: The weight coefficients are calculated using the first vertex data of the low-face model and the second vertex data of the subdivision model to obtain a weight coefficient matrix for the subdivision model. The second vertex data is mapped onto the low-face model using the feature vector to obtain the high-face model of the virtual object.

[0037] In some feasible implementations, the first vertex data includes the first vertex coordinates of each first vertex in the low-face model, and the second vertex data includes the second vertex coordinates of each second vertex in the subdivision model. The model subdivision module 203 is specifically used for: The linear or interpolated distance difference between each vertex in the low-face model is calculated using the first vertex coordinates, and the vector difference between the coordinates of two related vertices in the low-face model and the subdivision model is calculated using the first vertex coordinates and the second vertex coordinates; The distance differences are combined into a first sparse matrix, and the vector differences are combined into a second sparse matrix. The weight coefficient matrix for the subdivision model is obtained by performing operations using the first sparse matrix and the second sparse matrix.

[0038] In some feasible implementations, the model subdivision module 203 is specifically used for: The coordinates of the first vertices of each of the first vertices are combined to form a first coordinate matrix, and the coordinates of the second vertices of each of the second vertices are combined to form a second coordinate matrix; The vector difference between two related vertices in the low-face model and the subdivision model is obtained by using the first coordinate matrix and the second coordinate matrix.

[0039] In some feasible implementations, the model generation module 204 is specifically used for: The offset value for the second vertex is obtained by performing a calculation on the weight coefficient matrix and the vector difference. The offset value is used to adjust the coordinates of the second vertex to obtain the height model of the virtual object.

[0040] In some feasible implementations, the subdivided region includes at least one of the following: arm object, leg object, skirt object of the clothing being worn, and ribbon object of the clothing being worn.

[0041] As the device embodiment is basically similar to the method embodiment, the description is relatively simple, and relevant parts can be found in the description of the method embodiment.

[0042] In addition, this invention also provides an electronic device, including: a processor, a memory, and a computer program stored in the memory and executable on the processor. When the computer program is executed by the processor, it implements the various processes of the above-described model conversion method embodiments and achieves the same technical effect. To avoid repetition, it will not be described again here.

[0043] This invention also provides a computer-readable storage medium storing a computer program. When the computer program is executed by a processor, it implements the various processes of the above-described model conversion method embodiments and achieves the same technical effect. To avoid repetition, it will not be described again here. The computer-readable storage medium may be a read-only memory (ROM), a random access memory (RAM), a magnetic disk, or an optical disk, etc.

[0044] Figure 3 A schematic diagram of the hardware structure of an electronic device for implementing various embodiments of the present invention. The electronic device 300 includes, but is not limited to, components such as: a radio frequency unit 301, a network module 302, an audio output unit 303, an input unit 304, a sensor 305, a display unit 306, a user input unit 307, an interface unit 308, a memory 309, a processor 310, and a power supply 311. Those skilled in the art will understand that the electronic device structure involved in the embodiments of the present invention does not constitute a limitation on the electronic device. An electronic device may include more or fewer components than illustrated, or combine certain components, or have different component arrangements. In the embodiments of the present invention, the electronic device includes, but is not limited to, mobile phones, tablet computers, laptop computers, PDAs, in-vehicle terminals, wearable devices, and pedometers.

[0045] It should be understood that, in this embodiment of the invention, the radio frequency unit 301 can be used for receiving and transmitting signals during information transmission or calls. Specifically, it receives downlink data from the base station and processes it with the processor 310; additionally, it transmits uplink data to the base station. Typically, the radio frequency unit 301 includes, but is not limited to, an antenna, at least one amplifier, a transceiver, a coupler, a low-noise amplifier, a duplexer, etc. Furthermore, the radio frequency unit 301 can also communicate with networks and other devices through a wireless communication system.

[0046] The electronic device provides users with wireless broadband internet access through network module 302, such as helping users send and receive emails, browse web pages, and access streaming media.

[0047] The audio output unit 303 can convert audio data received by the radio frequency unit 301 or the network module 302 or stored in the memory 309 into audio signals and output them as sound. Furthermore, the audio output unit 303 can also provide audio output related to specific functions performed by the electronic device 300 (e.g., call signal reception sound, message reception sound, etc.). The audio output unit 303 includes a speaker, a buzzer, and a receiver, etc.

[0048] Input unit 304 is used to receive audio or video signals. Input unit 304 may include a graphics processing unit (GPU) 3041 and a microphone 3042. The GPU 3041 processes image data of still images or videos acquired by an image capture device (such as a camera) in video capture mode or image capture mode. The processed image frames can be displayed on display unit 306. The image frames processed by GPU 3041 can be stored in memory 309 (or other storage media) or transmitted via radio frequency unit 301 or network module 302. Microphone 3042 can receive sound and process such sound into audio data. The processed audio data can be converted into a format that can be transmitted to a mobile communication base station via radio frequency unit 301 in telephone call mode.

[0049] The electronic device 300 also includes at least one sensor 305, such as a light sensor, a motion sensor, and other sensors. Specifically, the light sensor includes an ambient light sensor and a proximity sensor. The ambient light sensor can adjust the brightness of the display panel 3061 according to the ambient light level, and the proximity sensor can turn off the display panel 3061 and / or backlight when the electronic device 300 is moved to the ear. As a type of motion sensor, an accelerometer sensor can detect the magnitude of acceleration in various directions (generally three axes). When stationary, it can detect the magnitude and direction of gravity and can be used to identify the posture of the electronic device (such as landscape / portrait switching, related games, magnetometer posture calibration), vibration recognition related functions (such as pedometer, tapping), etc. The sensor 305 may also include a fingerprint sensor, pressure sensor, iris sensor, molecular sensor, gyroscope, barometer, hygrometer, thermometer, infrared sensor, etc., which will not be described in detail here.

[0050] The display unit 306 is used to display information input by the user or information provided to the user. The display unit 306 may include a display panel 3061, which may be configured in the form of a liquid crystal display (LCD), an organic light-emitting diode (OLED), or the like.

[0051] User input unit 307 can be used to receive input numerical or character information, and generate key signal inputs related to user settings and function control of electronic devices. Specifically, user input unit 307 includes touch panel 3071 and other input devices 3072. Touch panel 3071, also known as a touch screen, can collect touch operations on or near the user (such as operations performed by the user using a finger, stylus, or any suitable object or accessory on or near touch panel 3071). Touch panel 3071 may include two parts: a touch detection device and a touch controller. The touch detection device detects the user's touch position and the signal generated by the touch operation, and transmits the signal to the touch controller; the touch controller receives touch information from the touch detection device, converts it into touch point coordinates, and sends it to processor 310, which receives and executes commands from processor 310. In addition, touch panel 3071 can be implemented using various types such as resistive, capacitive, infrared, and surface acoustic wave. In addition to touch panel 3071, user input unit 307 may also include other input devices 3072. Specifically, other input devices 3072 may include, but are not limited to, physical keyboards, function keys (such as volume control buttons, power buttons, etc.), trackballs, mice, joysticks, etc., which will not be described in detail here.

[0052] Furthermore, the touch panel 3071 can cover the display panel 3061. When the touch panel 3071 detects a touch operation on or near it, it transmits the information to the processor 310 to determine the type of touch event. Subsequently, the processor 310 provides corresponding visual output on the display panel 3061 according to the type of touch event. It is understood that in one embodiment, the touch panel 3071 and the display panel 3061 are implemented as two independent components to realize the input and output functions of the electronic device. However, in some embodiments, the touch panel 3071 and the display panel 3061 can be integrated to realize the input and output functions of the electronic device. The specific implementation is not limited here.

[0053] Interface unit 308 serves as an interface for connecting external devices to electronic device 300. For example, external devices may include a wired or wireless headphone port, an external power supply (or battery charger) port, a wired or wireless data port, a memory card port, a port for connecting a device with an identification module, an audio input / output (I / O) port, a video I / O port, a headphone port, and so on. Interface unit 308 can be used to receive input from external devices (e.g., data, power, etc.) and transmit the received input to one or more components within electronic device 300, or it can be used to transmit data between electronic device 300 and external devices.

[0054] The memory 309 can be used to store software programs and various data. The memory 309 may primarily include a program storage area and a data storage area. The program storage area may store the operating system, applications required for at least one function (such as sound playback, image playback, etc.), etc.; the data storage area may store data created based on the use of the mobile phone (such as audio data, phonebook, etc.). Furthermore, the memory 309 may include high-speed random access memory, and may also include non-volatile memory, such as at least one disk storage device, flash memory device, or other volatile solid-state storage device.

[0055] The processor 310 is the control center of the electronic device. It connects various parts of the electronic device via various interfaces and lines. By running or executing software programs and / or modules stored in the memory 309, and by calling data stored in the memory 309, it performs various functions and processes data, thereby providing overall monitoring of the electronic device. The processor 310 may include one or more processing units; preferably, the processor 310 may integrate an application processor and a modem processor. The application processor mainly handles the operating system, user interface, and applications, while the modem processor mainly handles wireless communication. It is understood that the modem processor may not be integrated into the processor 310.

[0056] The electronic device 300 may also include a power supply 311 (such as a battery) that supplies power to various components. Preferably, the power supply 311 can be logically connected to the processor 310 through a power management system, thereby enabling functions such as managing charging, discharging, and power consumption through the power management system.

[0057] In addition, the electronic device 300 includes some functional modules not shown, which will not be described in detail here.

[0058] It should be noted that, in this document, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Unless otherwise specified, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes that element.

[0059] Through the above description of the embodiments, those skilled in the art can clearly understand that the methods of the above embodiments can be implemented by means of software plus necessary general-purpose hardware platforms. Of course, they can also be implemented by hardware, but in many cases the former is a better implementation method. Based on this understanding, the technical solution of the present invention, or the part that contributes to the prior art, can be embodied in the form of a software product. This computer software product is stored in a storage medium (such as ROM / RAM, magnetic disk, optical disk) and includes several instructions to cause a terminal (which may be a mobile phone, computer, server, air conditioner, or network device, etc.) to execute the methods described in the various embodiments of the present invention.

[0060] The embodiments of the present invention have been described above with reference to the accompanying drawings. However, the present invention is not limited to the specific embodiments described above. The specific embodiments described above are merely illustrative and not restrictive. Those skilled in the art can make many other forms under the guidance of the present invention without departing from the spirit and scope of the claims, and all of these forms are within the protection scope of the present invention.

[0061] Those skilled in the art will recognize that the units and algorithm steps of the various examples described in conjunction with the embodiments disclosed in this invention can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are implemented in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementations should not be considered beyond the scope of this invention.

[0062] Those skilled in the art will understand that, for the sake of convenience and brevity, the specific working processes of the systems, devices, and units described above can be referred to the corresponding processes in the foregoing method embodiments, and will not be repeated here.

[0063] In the embodiments provided in this application, it should be understood that the disclosed apparatus and methods can be implemented in other ways. For example, the apparatus embodiments described above are merely illustrative. For instance, the division of units is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the coupling or direct coupling or communication connection shown or discussed may be through some interfaces; the indirect coupling or communication connection between apparatuses or units may be electrical, mechanical, or other forms.

[0064] The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.

[0065] In addition, the functional units in the various embodiments of the present invention can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit.

[0066] If the aforementioned functions are implemented as software functional units and sold or used as independent products, they can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of this invention, essentially, or the part that contributes to the prior art, or a portion of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of this invention. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, ROM, RAM, magnetic disks, or optical disks.

[0067] The above description is merely a specific embodiment of the present invention, but the scope of protection of the present invention is not limited thereto. Any variations or substitutions that can be easily conceived by those skilled in the art within the technical scope disclosed in the present invention should be included within the scope of protection of the present invention. Therefore, the scope of protection of the present invention should be determined by the scope of the claims.

Claims

1. A model conversion method, characterized in that, include: Obtain the low-poly model of the virtual object; In response to a subdivision command for the low-poly model, a subdivision region is selected from the low-poly model; Add corresponding vertex colors to the subdivided regions, and smoothly subdivide the subdivided regions according to the weight values ​​corresponding to the vertex colors to obtain the subdivision model of the virtual object; The second vertex data is mapped onto the low-face model based on the first vertex data of the low-face model and the second vertex data of the subdivision model to obtain the high-face model of the virtual object.

2. The method according to claim 1, characterized in that, The step of smoothly subdividing the subdivided region according to the weight value corresponding to the vertex color to obtain the subdivision model of the virtual object includes: Based on the weight values ​​corresponding to the vertex colors, model patches are added to the subdivision region to obtain the subdivision model of the virtual object; The larger the weight value, the more model patches are added.

3. The method according to claim 1 or 2, characterized in that, The step of mapping the second vertex data onto the low-face model based on the first vertex data of the low-face model and the second vertex data of the subdivision model to obtain the high-face model of the virtual object includes: The weight coefficients are calculated using the first vertex data of the low-face model and the second vertex data of the subdivision model to obtain a weight coefficient matrix for the subdivision model. The second vertex data is mapped onto the low-face model using the weight coefficient matrix to obtain the high-face model of the virtual object.

4. The method according to claim 3, characterized in that, The first vertex data includes the coordinates of the first vertex of each first vertex in the low-face model, and the second vertex data includes the coordinates of the second vertex of each second vertex in the subdivision model. The step of calculating weight coefficients using the first vertex data of the low-face model and the second vertex data of the subdivision model to obtain a weight coefficient matrix for the subdivision model includes: The linear or interpolated distance difference between each vertex in the low-face model is calculated using the first vertex coordinates, and the vector difference between the coordinates of two related vertices in the low-face model and the subdivision model is calculated using the first vertex coordinates and the second vertex coordinates; The distance differences are combined into a first sparse matrix, and the vector differences are combined into a second sparse matrix. The weight coefficient matrix for the subdivision model is obtained by performing operations using the first sparse matrix and the second sparse matrix.

5. The method according to claim 4, characterized in that, The step of calculating the vector difference between the coordinates of two related vertices in the low-face model and the subdivision model using the coordinates of the first vertex and the second vertex includes: The coordinates of the first vertices of each of the first vertices are combined to form a first coordinate matrix, and the coordinates of the second vertices of each of the second vertices are combined to form a second coordinate matrix; The vector difference between two related vertices in the low-face model and the subdivision model is obtained by using the first coordinate matrix and the second coordinate matrix.

6. The method according to claim 4, characterized in that, The step of mapping the second vertex data onto the low-face model using the weight coefficient matrix to obtain the high-face model of the virtual object includes: The offset value for the second vertex is obtained by performing a calculation on the weight coefficient matrix and the vector difference. The offset value is used to adjust the coordinates of the second vertex to obtain the height surface model of the virtual object.

7. The method according to claim 1, characterized in that, The subdivided area includes at least one of the following: arm object, leg object, skirt object of clothing, and ribbon object of clothing.

8. A model conversion device, characterized in that, include: The model acquisition module is used to acquire the low-poly model of virtual objects; A region selection module is used to select a subdivision region from the low-poly model in response to a subdivision instruction for the low-poly model. The model subdivision module is used to add corresponding vertex colors to the subdivision regions and smoothly subdivide the subdivision regions according to the weight values ​​corresponding to the vertex colors to obtain the subdivision model of the virtual object; The model generation module is used to map the second vertex data onto the low-face model based on the first vertex data of the low-face model and the second vertex data of the subdivision model, so as to obtain the high-face model of the virtual object.

9. An electronic device, characterized in that, It includes a processor, a communication interface, a memory, and a communication bus, wherein the processor, the communication interface, and the memory communicate with each other through the communication bus; The memory is used to store computer programs; When the processor executes a program stored in the memory, it implements the method as described in any one of claims 1-7.

10. A computer-readable storage medium having instructions stored thereon that, when executed by one or more processors, cause the processors to perform the method as described in any one of claims 1-7.

Citation Information

Patent Citations

  • Map processing method and device, electronic device and storage medium

    CN114419221A

  • 3D model asset file simplified conversion method and system based on mobile terminal

    CN117009291A