Skip to content

Manurocker95/Pokemon3DStoUnity

 
 

Repository files navigation

chx

Compatibility:

Note these important things:

  • This is a fork of Opeious work, so this is meant only for adding functionalities.
  • This whacky version requires NET 4.x so NET Framework must be selected under Player Settings. The reason is the usage of Reflection for future standalone import and export. In order to activate it, go to Edit > Project Settings > Player. Go down to "Other Settings" and scroll down to "Configuration". Change API Compatibility level from "NET Standard 2.1" to "NET Framework" or "NET 4.x" depending on your Unity version. Let it compile.
  • This plugin mainly works with the Universal Render Pipeline 12+ at the moment. You can use it for Built-in with 2021.2 and above but you need to install Shader Graph through PackageManager. For HDRP, add that target to every 3DS2Unity shader.
  • Exported GLTF/GLB will need you to make the custom shaders and material configuration in Blender, Unreal... They won't work out of the box outside Unity but you can now export them in batch.
  • Exporting as GLTF creates the .bin required to handle the buffers. This might cause Unity to lock them until you close the editor and might not let you to delete them, so use GLB as your main export output.

Installation:

  • Clone with git or download and put the entire project into your Assets Folder, under Pokemon3DS2Unity folder (Assets/Pokemon3DS2Unity/).
  • In Releases section you can find a .zip with the .unitypackage inside.

Usage:

2021-02-27 22_53_24-Pokemon3DStoUnity - SampleScene - PC, Mac   Linux Standalone - Unity 2019 4 18f1

  • From the top bar click 3DStoUnity and hit import
  • Place your 3DS files in Assets/Bin3DS that would've been created
  • Hit import again
  • Exported files and prefabs get added to Assets/Exported by default. You can set a custom folder inside your Assets folder by clicking on [...] button.
  • Exported files and prefabs get added to Assets/GLTF_Exported by default. You can set a custom folder inside your Assets folder by clicking on [...] button.

For a step-by-step guide / more info: https://gbatemp.net/threads/tutorial-export-your-pokemon-animated-models-from-3ds-to-unity-engine-3d.532962/

Troubleshooting:

If you face any issues or just looking for a community of likeminded developers: https://discord.gg/pYBWwAa (Discord Server)

Contributions:

If you would like to contribute to this project, I would recommend going through the TODOs at the top of PokemonImporter.cs in the main branch of the original repository: https://github.com/opeious/Pokemon3DStoUnity/blob/main/Editor/PokemonImporter.cs

Settings to change for Fire to work:

2021-03-11 00_01_26-NVIDIA GeForce Overlay

  • Add two new layers called "FireCore" and "FireMask"

  • Either create a new ForwardRenderer (sample attached in root of this repo), or select your existing ForwardRenderer

  • The default ForwardRenderer will be with URP settings in Assets/Setting

  • In the ForwardRenderer: From Opaque Layer Mask remove FireCore and FireMask.

  • Add two render objects one for each layer, for their individual settings refer the image below

  • In your project settings. (URP Renderer Settings) If you created a new ForwardRenderer, set the new one as default

2021-03-10 23_58_49-NVIDIA GeForce Overlay

What does the package do at the moment:

  • Open the Binary using SPICA's H3D parser
  • Translate the 3D model to Unity Mesh system and skinned mesh renderers
  • Generate material files from the textures
  • Automatically copy over some of the shader settings to the newly created materials
  • Skins and generates the skeleton for the mesh
  • Generates skeletal animations from the binaries
  • Generate material / vis animations and append them to skeletal animations
  • Renames animations, skips repeated animations
  • Saves the translated mon as prefab
  • Supports bulk processing

Updating:

  • Unity package manager doesn't currently support version of git packages, for now just remove the project as a dependency and add it again

ChangeLog:

  • v2.3-2.5: support for automatized exporter with UnityGLTF dev branch and some refactorization. NET 4.x is now mandatory as I use reflection for future runtime app.
  • v2.2: Skip null data (E.g Altaria)
  • v2.1: Ability to override animation controller during import, List fix (2019.1 and below)
  • v2.0: Added option to generate and apply shiny materials
  • v1.9: Fix (Changed parser to allow reading of Binaries that are set to read only.)
  • v1.8: Fixes, delete settings to regenerate defaults, custom shader support for material animations
  • v1.7: Fire Shader
  • v1.6: Full material / vis animation support, bunch of fixes related to animations and skipping corrupt files etc.
  • v1.5: Added Visiblity animations, fixed iris/body shaders, Material aniamtions (preview)
  • v1.4: Added UI, made the plugin customizable, animation renaming, etc
  • v1.3: Skeletal animation generation
  • v1.2: Skinning and rigging fixes
  • v1.1: sample toon shader, asset creation
  • v1: basic skeleton, model, texture generation

2021-02-27 22_43_19-NVIDIA GeForce Overlay 2021-02-27 23_07_57-PokeUnity - SampleScene - PC, Mac   Linux Standalone - Unity 2019 4 8f1 Personalsyl2

About

Pokemon Binary Importer Package - Directly import and translate binary 3DS files into Unity

Resources

License

MIT, Unknown licenses found

Licenses found

MIT
LICENSE
Unknown
LICENSE.meta

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C# 99.8%
  • HLSL 0.2%