PMXParser 1.1.1
dotnet add package PMXParser --version 1.1.1
NuGet\Install-Package PMXParser -Version 1.1.1
<PackageReference Include="PMXParser" Version="1.1.1" />
<PackageVersion Include="PMXParser" Version="1.1.1" />
<PackageReference Include="PMXParser" />
paket add PMXParser --version 1.1.1
#r "nuget: PMXParser, 1.1.1"
#:package PMXParser@1.1.1
#addin nuget:?package=PMXParser&version=1.1.1
#tool nuget:?package=PMXParser&version=1.1.1
PMX Parser
What is This ?
PMX file parser library of C#, which is thread-safe and zero-allocation.
PMX file is MMD (Miku Miku Dance) model file.
This parser parses PMX file into structual C# class.
This is just a parser, so drawing 3D models is NOT SUPPORTED in this library.
How to Use
Parsing from file name
var pmx = MMDTools.PMXParser.Parse("your_file.pmx");
Parsing from Stream
using(var stream = System.IO.File.OpenRead(fileName))
{
var pmx = MMDTools.PMXParser.Parse(stream);
}
New Feature of ver 1.1.0
MMDTools.Unmanaged.PMXParser
You can use it instead of MMDTools.PMXParser.
MMDTools.Unmanaged.PMXParser parses data into MMDTools.Unmanaged.PMXObject, as MMDTools.PMXParser do that into MMDTools.PMXObject.
MMDTools.Unmanaged.PMXObject has all data in unmanaged memory,
and it can be released explicitly by calling Dispose().
using(var stream = System.IO.File.OpenRead(fileName))
using(var pmx = MMDTools.Unmanaged.PMXParser(stream))
{
Console.WriteLine(pmx.Name.ToString());
}
Requirements and Dependencies (On Building)
- C# 8.0
dotnetcommand (.NET Core CLI Tools)
Installation
The package is published on Nuget.
https://www.nuget.org/packages/PMXParser
# nuget package manager
PM> Install-Package PMXParser -Version 1.1.1
Building
Windows, Mac, Linux
$ git clone https://github.com/ikorin24/PMXParser.git
$ cd PMXParser
$ dotnet build PMXParser/PMXParser.csproj -c Release
# ---> PMXParser/bin/Release/netstandard2.0/PMXParser.dll
You don't Know PMX File Format ?
You can see the format of PMX in a text of PmxEditor, download from the following link. Download zip and extract 'PmxEditor/Lib/PMX仕様書/PMX仕様.txt'. (It is written in Japanese)
NOTICE
PmxEditor is NOT MY PRODUCTION.
http://kkhk22.seesaa.net/category/14045227-1.html
License and Credits
Author : ikorin24
This repository is under MIT License.
This repository contains some licensed products. The list of them and their license are HERE.
Release Note
2020/01/04 ver 0.9.0
First Release
2020/01/06 ver 0.9.1
Bug fix and performance improvement a little
2020/01/09 ver 0.9.2
- Add .NET Framework version
- Add
DebuggerDisplayAttributeto some types
2020/01/12 ver 1.0.0
- Change target .NET version into .NET Standard 2.1 and 2.0.
- Fix small bugs.
2020/01/12 ver 1.0.1
- Fix a big bug.
- Parse incorrect value in case of
byteSizeis not 4 inNextDataOfSizemethod.
- Parse incorrect value in case of
2020/05/25 ver 1.1.0-rc
- Add parser for unmanaged memory version. (in namespace
MMDTools.Unmanaged) - Fix a bug in multi-thread.
- Fix some other bugs.
2020/10/06 ver 1.1.0
2020/12/20 ver 1.1.1
- Fix bags
- Add target frameworks (netstandard2.1, netcoreapp3.1, net5.0)
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 is compatible. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
| .NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 is compatible. |
| .NET Standard | netstandard2.0 is compatible. netstandard2.1 is compatible. |
| .NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 is compatible. net481 was computed. |
| MonoAndroid | monoandroid was computed. |
| MonoMac | monomac was computed. |
| MonoTouch | monotouch was computed. |
| Tizen | tizen40 was computed. tizen60 was computed. |
| Xamarin.iOS | xamarinios was computed. |
| Xamarin.Mac | xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETCoreApp 3.1
- No dependencies.
-
.NETFramework 4.8
- Microsoft.Bcl.HashCode (>= 1.1.0)
- System.Memory (>= 4.5.3)
-
.NETStandard 2.0
- Microsoft.Bcl.HashCode (>= 1.1.0)
- System.Memory (>= 4.5.3)
-
.NETStandard 2.1
- Microsoft.Bcl.HashCode (>= 1.1.0)
- System.Memory (>= 4.5.3)
-
net5.0
- No dependencies.
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.