402 Views
November 27, 23
スライド概要
■Overview
"I don't know where to find the latest data created by the artist." "When multiple people exchange data, are there any broken links?" "Don't artists want a structure that makes it easy to search large amounts of data?"
We will introduce a tool to store, share, and explore artist-created files to solve these and other problems.
Note: This is the contents of the publicly available CAPCOM Open Conference Professional RE:2023 videos, converted to slideshows, with some minor modifications.
■Prerequisites
No special skills are required.
Assumes an interest in file management.
I'll show you just a little bit of the content !
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
CAPCOM Open Conference Professional RE:2023
https://www.capcom-games.com/coc/2023/
Check the official Twitter for the latest information on CAPCOM R&D !
https://twitter.com/capcom_randd
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Python® is registered trademarks or trademarks of Python Software Foundation.
株式会社カプコンが誇るゲームエンジン「RE ENGINE」を開発している技術研究統括によるカプコン公式アカウントです。 これまでの技術カンファレンスなどで行った講演資料を公開しています。 【CAPCOM オープンカンファレンス プロフェッショナル RE:2023】 https://www.capcom-games.com/coc/2023/ 【CAPCOM オープンカンファレンス RE:2022】 https://www.capcom.co.jp/RE2022/ 【CAPCOM オープンカンファレンス RE:2019】 http://www.capcom.co.jp/RE2019/
Batch Managing a Huge Amount of Art Assets. Introducing: Scene Data Manager (SDM) In this session, as stated in the title, we will be discussing how our artists batch manage the huge amount of assets they create on a daily basis. -------Python® is registered trademarks or trademarks of Python Software Foundation. ©CAPCOM 1
To Start The enormous amount of art assets is getting out of hand. Well then, let‘s get started. In recent game development, as the resolution and quality of games have improved, the amount of art assets has also increased 2 significantly. ©CAPCOM 2
The Issues... Have you ever gotten questions like these or encountered similar issues? • Where is the latest file? • I can't view the referenced files in Maya anymore • Where is that one file again? Have you ever encountered issues like these when dealing with large amounts of art assets? Being unable to find the artist's latest files. 3 Becoming unable to reference external files when Maya files are exchanged by multiple people. Trouble finding the data due to the sheer number of files that exist. When artists create data for a game, they also create a ton of files that won't make it into the game. People want to do all kinds of things with these files. Such as... ©CAPCOM 3
Requested Functionality • • • • • • • • • • • Statuses/Labels • Uploading rules • Other various information • Flexible folder structure • Filters • Automation • Who created this asset? • Various data management • Quick file searching by name • History I want to assign statuses and labels. I want to add other information to files. I want to add filters. I want to know who made the file (in Japanese). I want to quickly find a file by name. I want to create upload rules. I want to create rules but I also want a tree that I can freely create. I want to automate where I can. I want to manage a variety of data. I also want to keep a History. 4 We have received all sorts of requests such as these. ©CAPCOM 4
OK, let's develop it! In order to solve these issues, Capcom developed Scene Data Manager Capcom developed a solution to these issues. A file management software called “Scene Data Manager.” 5 ©CAPCOM 5
SDM 2.0 Scene Data Manager is often referred to as "SDM" (As is the case hereafter). This is the main screen in Scene Data Manager. At Capcom, we refer to Scene Data Manager as "SDM“ and we'll use this acronym throughout the rest of the presentation. 6 We even had our artists create an exclusive logo for the software. ©CAPCOM 6
Table of Contents • Overview • History of SDM • Functions • Future Roadmap • Final Thoughts Now, the presentation will proceed according to the following structure. 7 ©CAPCOM 7
Table of Contents • Overview • History of SDM • Functions • Future Roadmap • Final Thoughts First, the overview. 8 ©CAPCOM 8
Scene Data Manager (SDM) Scene Data Manager (SDM) is... a file management software used to store, search for, and share artists' files. As previously mentioned, Scene Data Manager (SDM) is a file management software developed and operated by Capcom It's used to store, search for, and share files created by its artists. 9 ©CAPCOM 9
Operating Environment Type OS Windows 10 / 11 Platform .NET6 DCC Maya2018 - Maya2024, Substance 3D Designer (Ver. 13), Substance 3D Painter (Ver. 9), and various other files are supported. Components (EXEs) Manager/Visualizer/Bootstrap/Updater/SDM2Cmd/ KeepAlive/WatchDog Here is the operating environment. The OS is Windows 10 / 11. The platform is .NET6. DCCs such as Maya2018 to Maya2024, Substance, and various other files are supported. 10 The components consists primarily of seven executables, including Manager.exe for main processing, Visualizer.exe for GUI, and others for local/server monitoring, etc. ©CAPCOM 10
Internal Use Cases Unannounced Titles SDM Here are a few of our titles. SDM is in use, or has been used, for dozens of Capcom titles, including those that have been released, announced, and those yet to be announced. ©CAPCOM 11 11
Internal Use Cases Users increasing every year! Total number of files: 747,158 Total number of users: 867 Both the number of files and the number of users have been increasing steadily over the years. Here are the total number of assets and users for our titles using SDM. Currently, there are about 740,000 assets and 867 users. 12 ©CAPCOM 12
Table of Contents • Overview • History of SDM • Functions • Future Roadmap • Final Thoughts Now, I'd like to talk a little about the history of SDM and what lead to the creation of SDM 2.0. 13 ©CAPCOM 13
What is SDM 1.0? • A Maya-specific tool • Upload open Maya files • Thumbnail display only • Three UI categories • Search function is simple text only This is the tool screen of SDM 1.0. Since Autodesk Maya is our main DCC software, SDM 1.0 was developed with this in mind. • • • • 14 It was used as a tool within Maya and basically only Maya/external files could be registered directly. The display format was thumbnail only. There were three categories in the UI: [Section] pull-down - [Tab] - [Frame]. The search function only supported basic text entry. As we were developing SDM 1.0, we encountered various problems and received numerous requests. ©CAPCOM 14
SDM 1.0 Issues and Requests • Support for DCCs other than Maya • Thumbnail display only • More categories • More extensive search functionality • Slow display speed with high volume • Metadata a mix of XML and json SDM1.0 Here are some of the issues and requests we received for SDM 1.0. • • • • • • • The software is too Maya-dependent. We would like something that can handle various files directly. Also, it would be nice to be able to download files without Maya. We want a data-centered list view in addition to the thumbnail view. Having more than three categories in the UI would be nice. It would be convenient to be able to search for files using criteria other than just text. When the number of registered assets exceeds 10,000, the display becomes abnormally slow. The metadata is a mix of XML and json. 15 Theses are just a few of the issues/requests that arose. ©CAPCOM 15
Onwards to SDM 2.0 ・Difficulty adding functions to SDM 1.0 ・Complete rewrite to make it into a standalone Windows app Scene Data Manager 2.0 (SDM 2.0) In order to respond to the various requests and issues, we couldn't keep SDM 1.0 as it was. So, we developed a new version, “Scene Data Manager2.0,” as a stand-alone software that runs on Windows. ©CAPCOM 16 16
Improvements made in SDM 2.0 Many of the issues were resolved in SDM 2.0! • No longer Maya-dependent • Access rights management for each artist • Improved speed • Free search tree creation by TA, etc. • A more flexible folder structure • No special process needed to add users • Labels/Statuses • Easily reference data from other titles • Thumbnail/Details/Contents Display • Command line support The new and improved SDM 2.0 solved many issues. • We broke away from Maya by switching to a standalone app. 17 • Switching to standalone saw various improvements to speed. Our largest title has over 170,000 files, but displaying the file list now only takes at most 1 second. • Instead of just three categories, we now have a free and flexible folder structure. • Adding labels and statuses is now possible. • In addition to "Thumbnail View," the asset list can now be displayed in "Detailed View" or "Contents View." • Administrator/User/Guest permissions can now be granted to each artist in order to manage access. • TAs (Title Administrators) can now freely create search structures that make it easier to search for assets. • Adding artists to a title no longer requires additional work for SDM 2.0 developers. • Data from other titles can now be easily referenced. • Command line support allows TAs to manage SDM 2.0 data using their own tools. With these changes we were able to achieve what was not possible with SDM 1.0. Now, let's take a look at the features of SDM 2.0. ©CAPCOM 17
Table of Contents • Overview • History of SDM • Functions • Future Roadmap • Final Thoughts Now I'd like to take some time to go over the various functions of SDM 2.0. From now on, any reference to SDM should be interpreted as SDM 2.0. ©CAPCOM 18 18
About the Basic UI First, let me explain the basic UI of SDM. 19 ©CAPCOM 19
Basic UI Description Hierarchy View Asset View Details View This is screenshot of the SDM UI. The structure is divided into three major sections: 20 • The Hierarchy view for asset management. • The Assets view that displays a list of assets in a selected folder. • The Details view to display information on selected assets and folders. The following is a brief explanation of each view. ©CAPCOM 20
Hierarchy view • Management of assets in a folder structure • Folder-by-folder management of meta information • Folder Search • Management of multiple hierarchies with different conditions Let me explain about the Hierarchy view. As mentioned earlier, we have changed from managing tabs to managing folders in a tree structure to solve the problems 21 from SDM 1.0. • First of all, assets are now managed in a folder structure. The folder structure is created with special rules set by the title, and it's placement is automatically determined based on the asset's name and other information. • Meta information can be set for each folder. As an example of meta information, the name of a managed folder is not easy to understand, so as you can see in the image, they have aliases like "Rathian". This makes it easy to see what's being managed at a glance. ©CAPCOM 21
Hierarchy view • Management of assets in a folder structure • Folder-by-folder management of meta information • Folder Search • Management of multiple hierarchies with different conditions • The meta information assigned to a folder is used as a key to search the folder. • By adding meta information search conditions, various hierarchies can be created. 22 The details of what kind of information is given and used and what the different trees look like, I'll explain a bit later. ©CAPCOM 22
Asset View • Thumbnail display of assets The contents of the selected folder, as well as those of its child folders, are also included in the display. Next, let's look at the Asset view. • The Asset View displays the assets contained within the currently selected folder. 23 The assets displayed in the asset view include all the assets belonging to the currently selected folder, as well as those of its child folders. ©CAPCOM 23
Asset View • Information displayed is metadata information • DCC software-compatible filter functions • Searches can be performed according to metadata information • Allows mutual display of dependent assets • Can be downloaded and committed • The assets displayed here are the not actual files, but are displayed based on the meta-information of the assets. • The display can be filtered by type, such as DCC compatibility, etc. 24 You can only filter files that are compatible with the DCC software currently used in the company. (Maya, for example.) You can also view documents, such as text, word, PDF files. The view includes a combo box to switch filters easily. • Search can be performed based on the meta information value that the asset has. If the filters are also used, the search will be an "and" search with the filter conditions. ©CAPCOM 24
Asset View • Information displayed is metadata information • DCC software-compatible filter functions • Searches can be performed according to metadata information • Allows mutual display of dependent assets • Can be downloaded and committed • You can display the assets that the asset depends on. This includes things like the reference scene in Maya, or textures used by Substance 3D Designer. 25 • You can download assets, drag and drop to commit them, and view their commit history. In Maya and Substance, commit operations can be performed directly from the software. (More details on that later.) That's the general gist of what you can do from this view. ©CAPCOM 25
Details View • Thumbnail Display • Display meta information for the selected folder and meta information for the asset • Edit meta information values Next, let's look at the Details view. In the Details view we can... • See the thumbnail of the currently selected folder or asset. • Display the current meta information of the selected folder or asset. • Edit meta information values, etc. 26 That's it for the brief description of the basic UI. ©CAPCOM 26
Main Goals of SDM The main goals of SDM are to store, search, and share. Let's focus on the "search" goal for now Make it possible to quickly find shared assets Let me talk about the main goals of SDM here. SDM has three main objectives: storing, searching, and sharing. This time, we will focus on the searching part of SDM, The idea is to make it possible to quickly find assets that have been 27 shared. Next, I‘m going to talk about what kind of information is prepared in order to achieve this goal. ©CAPCOM 27
Information Created for Searching Various types of meta information are applied to folders and assets Examples of meta information • Filename • File size • Display name • Label / Status • Summary • Asset dependency information • Person responsible • Person who last updated it • Update date • DCC type • Dedicated information for the relevant DCC type • Thumbnails, etc. To find assets quickly, folders and assets have various kinds of meta information. Some examples include: General information such as file name, summary, modification date and time. They also include, labels/status, dependency information, and information exclusive to the DCC type. 28 The dedicated information for each DCC type includes the number of polygons in the scene, texture resolution, and so on. This meta information is used as search criteria to find assets. Next, I will explain what the label and status information is and how it is used. ©CAPCOM 28
Labels Next, I will discuss labels, and how they are used. 29 ©CAPCOM 29
Labels Administrator 1. Create label definitions and groups 2. Register label group settings in folders 3. Assign labels that are commonly used to the parent folder in advance. User 1. Assign labels to the folders they manage according to rules In SDM, each title-side member is set as either an "Administrator" or a "User." The process of using labels is as follows: 30 • First, administrators, who are mainly TAs, prepare the labels. They will create labels needed by section leaders, label groups, and so on. • Second, they apply the created groups into folders. This will make it so the user sees only the labels you want them to use. • Third, the parent folder will pre-populated with labels that will be used throughout the section. I'll explain the reason we do the above during the folder creation demonstration in the next and subsequent sections. ©CAPCOM 30
Labels Administrator 1. Create label definitions and groups 2. Register label group settings in folders 3. Assign labels that are commonly used to the parent folder in advance. User 1. Assign labels to the folders they manage according to rules Next is the User side, the people who actually create scenes and so on. In the work folder, which is managed by each individual, the user sets the necessary labels according to the rules. 31 The Administrator has specified the label settings that can be used in advance, so the User side only shows the labels that are allowed to be attached to the folders. Next, we will describe an example of actual creation and use. ©CAPCOM 31
Labels (Administrator) Labels are created in a specialized UI • Create whatever labels each title wants • Define groups to manage labels The label itself has a GUID, which makes it possible to change its display name later. As for how to create labels, there is a UI dedicated to that task. The left side with "Label" on it is the list of existing labels. Labels can be created for each title with any name. 32 The right side with "Group" on it is the definitions of groups for managing labels. This group definition is used to specify rules for label usage. The label itself is managed by a GUID, so it is possible to change the display name later. ©CAPCOM 32
Labels (Administrator) About the initial setting of labels (Example) ① We want to use this folder for props, so set the labels we want to be made useable ② Set labels we want applied to the whole category on this "furniture/interior" folder This is an example of a label's default settings in action. Here, for the Props folder, we will first set up a group of labels that can be used. By setting this, only the labels that can be used will be displayed in the folders below this one in the hierarchy. 33 Next, we will set common labels for all the folders below "Furniture/Interior". The lower level folders will inherit the information of the set labels. By setting this, you do not need to set labels that you want to set in common in each folder in the lower level. This is all that needs to be done on the administrator side. ©CAPCOM 33
Labels (User) Applying labels as a User • People working on assets, etc., can apply labels to the management folder for individual assets, such as wooden desks. • Only labels that the Administrators specified are displayed when editing Next, let's talk about the User side. Each user sets labels for the assets for which they are responsible. 34 In this case, the user selects a folder for editing that manages a wooden desk, which is below the "furniture/interior" folders in the hierarchy. The Administrator specified in advanced which labels are to be displayed, so the user can see only what's necessary. From there, the user selects and adds the necessary information according to the rules set by the title. That's it for the workflow of setting labels. ©CAPCOM 34
Labels (User) Why label folders instead of assets? 1. What makes up the wooden desk is not only the scene, but also textures and other various assets 2. Since folder label information is inherited by all the assets that belong to it, there is no need to control each asset individually. Here is the explanation so far as to why labels are attached to folders and not to assets. Originally, we had intended to put the labels on assets, however, in actual operation, we found that it is more convenient 35 to put labels on folders. First of all, folders are almost always managing a single object. Using the wooden desk as an example, the elements that make up a scene are not only the scene itself, but also other assets, such as textures. It would be very time-consuming to add information to all of these elements one by one. Also, as the number of settings increases, the possibility of mistakes increases. ©CAPCOM 35
Labels (User) Why label folders instead of assets? 1. What makes up the wooden desk is not only the scene, but also textures and other various assets 2. Since folder label information is inherited by all the assets that belong to it, there is no need to control each asset individually. When moving folders, it is necessary to update some information to the new location. If the information is assigned to a folder, the updated value propagates to the assets in it. This is because values are implemented such that they are inherited from parent to child. 36 Even if the necessary files move or increase in number, as long as an asset is attached to a folder, the value attached to the folder is automatically inherited by the asset. This eliminates the need to reassign values to individual assets. In actual operation, it was found that there was little point in attaching values to individual assets, and that there would be no operational problems if the values were attached to the management folder, so that is the direction we went with. ©CAPCOM 36
Special Labels About special labels provided by the system Triggers special visual indicators and/or behaviors in the UI • "Do Not Use“ For items that were created but are no longer used in the title. If set, folders will be grayed out and assets will not be displayed. "Caution" • "Caution“ Caution will be displayed on the thumbnail. As well as the labels provided by the title, there are also special labels that are managed by the system. These can be used by all titles, and are also displayed in the UI. 37 • "Do Not Use“ This is for assets that have been created but are no longer used for various reasons. We do not want them to be used in the future, so the folder is grayed out and the asset is no longer displayed. • "Caution“ When set, a warning message is displayed on the thumbnail. This is used to warn users not to use certain effects in games, or other situations where care must be taken. That's it for labels. ©CAPCOM 37
Statuses About the Status Parameter • Information used for work requests, progress tracking, etc. A single status is selected from multiple statuses. • For the convenience of work requests and progress tracking, display conditions are configurable per section and state changes automatically trigger email notifications and other features Next, I will explain Statuses. The method of creation and setting is the same as for labels, however, the usage is different. 38 The differences are as follows: Statuses are used to manage information such as work requests and progress tracking, and only one status can be selected from a set list. Due to the nature of the information being managed, there are cases when you want to limit what sections can change or set which statuses. For this reason, there are functions to change the selectable statuses, and to notify other people of the change. When you change the status to a specific state, an e-mail will be automatically sent in conjunction with the change. ©CAPCOM 38
Statuses About the Status Parameter • Information used for work requests, progress tracking, etc. A single status is selected from multiple statuses. • For the convenience of work requests and progress tracking, display conditions are configurable per section and state changes automatically trigger email notifications and other features The email sent also contains a clickable link to the changed folder/asset. Clicking the link will take the recipient to SDM. That way, they don't have to look up its location. ©CAPCOM 39 39
Practical example of using Statuses As an example of status use, the following is an actual example of the flow of communication with our intellectual property staff for copyright checks. Email Automatically Sent Prepare check documents Change status to "Copyright Check Request" Check request email Email Automatically Sent Perform the check, set the status to "OK" or "Rejected" Check the results and If it passed, you're done. Otherwise, edit as needed As a practical example of status use, this is an actual communication flow with IP management staff. The title staff is sending the request to the IP staff to check for any potential infringement. The green frame is the response on the title side. The yellow frame indicates the response by the IP staff, 40 First, the titleholder prepares documents for confirmation and uploads them to SDM. The status of the asset is changed to the "Copyright Check Request“ status. At this point, an email with the request will be sent to the person in charge of IP. ©CAPCOM 40
Practical example of using Statuses As an example of status use, the following is an actual example of the flow of communication with our intellectual property staff for copyright checks. Email Automatically Sent Prepare check documents Change status to "Copyright Check Request" Check request email Email Automatically Sent Perform the check, set the status to "OK" or "Rejected" Check the results and If it passed, you're done. Otherwise, edit as needed The person in charge of copyright will be asked to check the request and confirm that there are no problems. They will confirm whether it is OK or not, and change the status appropriately. At the timing of the change, the result will be sent by e-mail, and the requester will confirm the result. If the result is OK, the process is finished. If the result is not OK, the requester makes corrections. 41 This is how it works. Next, I will explain how meta information such as label/status affects the display. ©CAPCOM 41
Custom Trees/Favorite Trees Other display functions • Using folder and asset metadata as keys, custom views can be constructed • Whether to display folders or only assets is controlled by the conditions specified • Custom trees are shared throughout the title • Favorite trees are handled on an individual basis Next, I will explain how labels, status, and other meta information are actually displayed. The function to change the display based on meta information is called "custom tree/favorites tree." 42 • This is separate from the asset management structure. The tree can be freely configured based on metadata information assigned to the folders and assets. The reason for this is that it is often more convenient to view the display based on the meta information values currently set. • You can control whether to show only assets or folders, respectively. ©CAPCOM 42
Custom Trees/Favorite Trees Other display functions • Using folder and asset metadata as keys, custom views can be constructed • Whether to display folders or only assets is controlled by the conditions specified • Custom trees are shared throughout the title • Favorite trees are handled on an individual basis • Custom trees are shared across the entire title. Because it is shared by the entire title, only those with administrative privileges can edit the conditions. • The "Favorites" tree is managed on an individual basis and can be used to view and use only what you want to see. 43 The custom tree and the favorites tree work in the same way, as discussed above, they differ in the scope of sharing. That's it for display management. ©CAPCOM 43
Examples of custom trees Example of custom tree display Display by ranges of polygon count Display by specified label Display by access rights information Display the assets you are in charge of Here is an example of how this can be done in practice. • • • • Assets can be displayed by using the number of polygons in the scene as for the purpose of checking data, etc. Displaying folders by the labels set. The display can be sorted by copyright check status, from the earlier example. Display by the person in charge of the work. 44 The tree can be constructed based on the metadata information currently set, and allows the title or the user to easily see the information they need to see. ©CAPCOM 44
Switching Titles Next, let's talk about switching titles. This is for people who work on multiple titles, such as TAs, and for those who want to refer to past work. 45 I'll show a video of the switching process. ©CAPCOM 45
Switching Titles Just by selecting from the pull-down menu, "Resident Evil Village" and "Monster Hunter Rise: Sunbreak" can be quickly switched. 46 ©CAPCOM 46
Integration with other software From here, I would like to introduce SDM's integration with other software. 47 ©CAPCOM 47
Integration with other software Folder information integration with Autodesk's ShotGrid Importing label and display name information in RE ENGINE Various linkage functions with Autodesk's Maya Today I'll present three of them. • The first is the integration with Autodesk's ShotGrid, including folder information. • The second is the linkage of label and display name information with RE ENGINE. • The third is the linkage with Maya, our main DCC software. 48 Let me introduce them one by one. ©CAPCOM 48
SDM & ShotGrid Integrating folder information with ShotGrid • Targets parameters that can be handled in common with the ShotGrid side • Send information to the ShotGrid side • Execute import on SDM • Dedicated window includes information diff functionality ShotGrid supports linking SDM folder information, etc. The labels/statuses, display names, thumbnails, etc. mentioned mentioned earlier can be handled in common with the49 ShotGrid side are as follows. When data on the SDM side changes, the information is sent to ShotGrid and synchronized. Via the "Import" menu, the difference between the current value and the value on the ShotGrid side are displayed, and the selected values are imported by selecting them. ©CAPCOM 49
SDM & RE ENGINE Linking of folder information with RE ENGINE • Information is picked up on the RE ENGINE side • Display name and label are the targets • Reflection on RE ENGINE is automated In RE ENGINE, currently, the RE ENGINE side of the system incorporates SDM label and display name information. This removes the chore of having assigning display names and labels on both the SDM side and the RE ENGINE side. 50 Information is prepared in json format on the SDM side and imported automatically from the RE ENGINE side. ©CAPCOM 50
SDM & Maya SDM2.0 Upload MAYA Download (OpenScene) We will now introduce the integration between SDM and Maya. Upload from Maya to SDM and OpenScene in Maya from SDM. ©CAPCOM 51 51
SDM & Maya • Connected via TCP/IP • Icon display of connection status • Access various functions by right-clicking the icon in SDM's menu Maya and SDM are connected via TCP/IP and the SDM icon is always displayed on Maya. The icon is blue when connected to SDM and gray when disconnected. You can access various functions from the right-click menu of the SDM icon. ©CAPCOM 52 52
Maya Upload • Open the UploadWindow via the icon in SDM • Upload scene information, external files, and thumbnail image files • The folder to upload to on SDM is automatically determined Next is uploading files from Maya to SDM. Click [Upload Menu] from the right-click menu of the SDM icon. [UploadWindow] will open. 53 Uploading from here will allow you to upload the Maya scene, along with various information such as texture and reference files, meshes, and so on. Additionally, Maya files, references, textures, shaders, audio, and other "external files" will also be uploaded to SDM, and thumbnails are automatically generated. The artist does not need to specify the "destination folder" at this time. ©CAPCOM 53
Maya Upload • Open the UploadWindow via the icon in SDM • Upload scene information, external files, and thumbnail image files • The folder to upload to on SDM is automatically determined In the image, the folder to upload to SDM is displayed in the "Candidate VPath" field, but this is not entered by the artist. It's automatically determined, and only displayed for confirmation. 54 SDM allows the creation of title-specific rules, so that the upload destination is automatically determined by the file name and other conditions. This eliminates the need for artists to select the upload folder each time, to wonder where to upload to, or to make mistakes in the upload destination. ©CAPCOM 54
Maya OpenScene • The Maya file's reference information is all known • Dependency View to show all external files • Can jump to dependencies Next, we will show how to open Maya files registered in SDM in Maya. When you upload a Maya file, SDM will capture the external file information (texture, reference, shader, image plane, audio 55 file, etc.) that the Maya file refers to. When you select a Maya file, the dependent texture file and other reference files are displayed on the lower UI (Dependency View), You can check them before you open the file. You can also jump to the file by right-clicking in the dependency view. ©CAPCOM 55
Maya OpenScene • Download Maya file and related files only • The external file path is automatically changed to match the user's environment Clicking "OpenScene" on the SDM UI will download the selected Maya file and the external files used by that Maya file will be downloaded locally and opened in Maya. 56 Also, the paths of the texture and reference files in the Maya scene are automatically changed to match the environment of the person who performed the OpenScene operation. For example, one artist may use drive D and another artist may use drive E. When OpenScene is performed, the links are automatically changed to match each artist's environment, ensuring that the external files can be referenced. ©CAPCOM 56
Commit History • Maintains a history of each file • Can download from history list • Maya files can be opened immediately in Maya • Generates a folder with the commit number and sets it as the download destination Next, I will discuss file history. Since it is a file management software, SDM also maintains a history. You can download data from the history list. 57 However, only Maya files can be downloaded by right-clicking on the Maya file name in the SDM history window and clicking on "Edit." The file will not only be downloaded, but also immediately opened in Maya for review. The local download destination is a folder automatically created with the revision number, so that the files are not mixed up with the latest version. ©CAPCOM 57
Process Insertion Per Title Title-specific processing can be executed immediately before Upload/OpenScene • Scene sanity checks • Upload Maya file and fbx • Send notifications • Skip specific checks • Skip uploading specific texture files • Automatic generation of required nodes • Specific settings for third-party plug-ins purchased by the title • Massive unwanted node detection Next, we will discuss title-specific processes. Data created by artists has some common parts, but many parts are different for each title. 58 Therefore we support running title-specific processes just before uploading and just after running OpenScene. For example... • • • • • • • • Checking if the scene is correct Uploading fbx files generated behind the scenes along with the Maya files, etc. Sending notifications when certain checks are caught Skipping certain checks for certain scenes, etc. Skipping the Upload of Texture files for certain scenes, and so on. Automatically generating a node if the required node is not found. Set specific settings for third-party plug-ins purchased by the title. Send out warnings if a huge number of unnecessary nodes are present in a scene. ...Are all processes that can be inserted. ©CAPCOM 58
MayaPython® Commands for Titles (TA) • Maya tool creators can control SDM from their own tools • MayaPython functions for controlling SDM are provided Earlier, we introduced "How to insert title-specific processing when uploading to SDM." MayaPython commands are also available. 59 In addition... • Maya tool creators such as TAs can also add "Upload to SDM" and "Import from SDM" functions to their own tools. • MayaPython functions that can operate SDM are exposed, and Maya tool creators can freely incorporate them into their own tools. ©CAPCOM 59
MayaPython® Commands for Titles (TA) # Upload to SDM Sdm2.commit_maya_scene() # Update references from SDM Sdm2.download_all_reference_files() # Open/Import/Reference from SDM Sdm2.open_maya_scene2() # Download optional SDM files Sdm2.download_assets() # Get file data from SDM Sdm2.get_asset_file_info() # Select asset in the SDM UI Sdm2.select_object() # Get structure data from SDM Sdm2.get_tree_info() • Upload to SDM while outputting to RE ENGINE Here is an example of MayaPython commands for SDM. You can upload, open, reference, and get information on SDM. Some titles have a mechanism to upload Maya files to SDM when data is output to our RE ENGINE. ©CAPCOM 60 60
Command Line for Titles (TA) Also offers an exe that can be executed from the command line // Upload to SDM (store details in upload.json) SDM2Cmd.exe -upload -fileinfo "d:/tmp/upload.json“ // Download a file from SDM SDM2Cmd.exe -download -filename aa.png // Get a file from SDM by alias SDM2Cmd.exe -query -alias “Event” // Update SDM to latest SDM2Cmd.exe -sync -force // Get a file from SDM by filename SDM2Cmd.exe -query -filename bb.mb In addition to MayaPython, an exe that can be executed on the command line is also available. Here are some examples of SDM command line usage, which allows uploading, downloading, and retrieving information. 61 ©CAPCOM 61
Maya OpenScene OpenScene Optimizations • Initially only download & process the main Maya file and reference file(s) • Texture download in background of Open process in Maya • Load on Maya side when texture download is complete Next, I would like to explain a small optimization when opening Maya files registered in SDM in Maya. • When opening a Maya file, if you first download just the main Maya file and reference files, you can open the file in 62 Maya right away. • While the file is being opened in Maya, the texture file is downloaded in the background. • After the texture file has been downloaded, SDM will send a completion notification to Maya, which then loads the texture on the Maya side. That's basically it. In a scene where a large texture image file is used, by opening the Maya file and downloading the Texture image file at the same time, the speed of opening the Maya scene is improved. ©CAPCOM 62
Maya OpenScene (Textures) Texture File Issues • Texture files are huge • Scenes that use many Maya files, such as cutscenes • There was a case of a cutscene taking 11 minutes and 42 seconds to open in Maya Next, I'd like to talk a little bit about textures. Some of the problems with texture files include... 63 • The resolution and number of texture files used has increased, and the textures used in a single Maya scene have become quite a burden. • When a scene is constructed using many Maya files, such as a cut scene, having a lot of Texture files affects can cause long waits when opening the file. • One particular cutscene took 11 minutes and 42 seconds to open completely! ©CAPCOM 63
Maya OpenScene (Textures) Countermeasures • Automatically generate lightweight texture files that maintain aspect ratio • Specify "Open with lightweight texture" and open Results Maya Normal Texture Lightweight Texture Opening Time 11 min. 42 sec. (702 sec.) 52 sec. Memory Used 20.32 [GB] 9.65 [GB] For this kind of Maya scene, SDM automatically generates lightweight texture files that maintain the aspect ratio on the server side. When you specify "Open with lightweight Texture" from SDM and open the file, a Maya file with "Lightweight Texture image files" will be opened. 64 As a result, for a huge cutscene, the open completion time went from over 11 minutes to 52 seconds, and the memory used went from 20 GB to 9 GB. ©CAPCOM 64
Textures Normal Texture Lightweight Texture On the left is the normal texture, and on the right is the same model with the lightweight texture. The quality is good enough to use when working on cutscenes, etc. 65 ©CAPCOM 65
SDM & Substance 3D Painter • There's also an UploadWindow for Substance 3D Painter • spp files or spp + texture files can be uploaded Click to connect to SDM Turns blue on successful connection Like Maya, Substance 3D Painter also has an UploadWindow. You can upload spp files or spp and texture files from Substance 3D Painter via the UploadWindow. ©CAPCOM 66 66
SDM & Substance 3D Designer • There's also an UploadWindow for Substance 3D Designer • sbs files or sbs + sbsar + texture files can be uploaded Similarly, the UploadWindow exists in Substance 3D Designer. From Substance 3D Designer, you can upload sbs files or sbs and sbsar files, as well as, texture files. Dependency information is automatically added. ©CAPCOM 67 67
SDM & Substance This screen is an example of a Substance-based file being uploaded. Dependencies are automatically added to the Substance files. 68 ©CAPCOM 68
Table of Contents • Overview • History of SDM • Functions • Future Roadmap • Final Thoughts This is the end of the introduction of the main features. Next, I will introduce a few of our future plans. 69 ©CAPCOM 69
Future Roadmap ・Optimization ・Improved stability ・Increased DCC software support ・Automatic file upgrade of Maya files themselves ・Automatic data compression/decompression ・Enhanced integration with other software ・File renaming that maintains references to references Future plans include... • Optimization. 70 There is room to improve speeds when retrieving the latest information, loading huge Custom Trees, uploading and opening from Maya, etc. • Stability improvements. • Increased number of supported DCC software. (Currently Maya and Substance, MotionBuilder, and Zbrush are also being considered.) ©CAPCOM 70
Future Roadmap ・Optimization ・Improved stability ・Increased DCC software support ・Automatic file upgrade of Maya files themselves ・Automatic data compression/decompression ・Enhanced integration with other software ・File renaming that maintains references to references • Automatically upgraded Maya files. A function that automatically generates Maya 2022 files, 2023 files, and 2024 files on the server. For some random reason, I sometimes can't open a 2019 Maya file with 2024, but sometimes you can work around it 71if you step through versions. • Automatic data compression/expansion. The size of artist' files keeps increasing. We are trying to make sure that this does not affect the speed of the artist's normal use. Reduction of space used on the server would also be beneficial. ©CAPCOM 71
Future Roadmap ・Optimization ・Improved stability ・Increased DCC software support ・Automatic file upgrade of Maya files themselves ・Automatic data compression/decompression ・Enhanced integration with other software ・File renaming that maintains references to references • Strengthened integration with other software, such as, RE ENGINE, Teams, and ShotGrid. • File renaming that maintains references to reference files. 72 Normally in Maya, if you change the file name of a reference file, you will not be able to refer to the reference file when you open the parent scene anymore. I would like to be able to open a scene with the reference files in the correct state. ©CAPCOM 72
Table of Contents • Overview • History of SDM • Functions • Future Roadmap • Final Thoughts And finally... 73 ©CAPCOM 73
Everyone in the audience • SceneDataManager2.0 • Web systems architecture • DCC software plugin development • Plugin management system architecture I'd like to say to everyone watching, there are other many kinds of programming to do at a game company other than game programming itself. 74 • There is also software development work for artists like SDM. • There is also building web systems for game developers. • Of course, there is also the development of various plug-ins for DCC software. Maya, Houdini, MotionBuilder, Substance, Zbrush, Photoshop, and many more. • In addition, there is the construction of systems to manage those various plug-ins. We hope that this introduction to SDM will spark your interest in building such a development environment. ©CAPCOM 74
Thank you for your attention. That concludes the SDM presentation. Thank you for your attention. 75 ©CAPCOM 75