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" />
paket add PMXParser --version 1.1.1
#r "nuget: PMXParser, 1.1.1"
// Install PMXParser as a Cake Addin #addin nuget:?package=PMXParser&version=1.1.1 // Install PMXParser as a Cake Tool #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
dotnet
command (.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
DebuggerDisplayAttribute
to 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
byteSize
is not 4 inNextDataOfSize
method.
- 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. |
.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.