avwrtn wrote: ↑Fri Sep 16, 2022 8:43 pm
looks like a Noesis tool.
yes its noesis, and yes this my (tool)plugin with noewin. created just for convenience, for yourself.
"autoTriangles" you can do it in noesis:
Code: Select all
bs.seek(1761231)
rapi.rpgBindPositionBuffer(bs.readBytes(35100*12), noesis.RPGEODATA_FLOAT, 12)
rapi.rpgCommitTriangles(None, noesis.RPGEODATA_USHORT, 35100, noesis.RPGEO_TRIANGLE)
or just use python (drop file on this script) it will create an *.obj:
Code: Select all
import sys
import struct
input = sys.argv[1]
with open(input, 'rb') as rb, open(input.replace('.igb', '.obj'), 'w') as wb:
rb.seek(1761231)
vert = struct.unpack('%if'%(35100*3), rb.read(35100*12))
for x in range(0, len(vert), 3):
wb.write('v %f %f %f \n'%vert[x:x+3])
for x in range(1, 35100, 3):
wb.write('f %i %i %i \n'%(x, x + 1, x + 2))
or c++:
Code: Select all
#define _CRT_SECURE_NO_DEPRECATE
#include <iostream>
int main(int argc, char* argv[])
{
if (argc > 1)
{
FILE* rb = fopen(argv[1], "rb");
FILE* obj = fopen("wheel.obj", "w");
float* vert = new float[35100 * 12];
fseek(rb, 1761231, 0);
fread(vert, 4, 35100 * 3, rb);
for(int i = 0; i < 35100 * 3; i+=3)
fprintf(obj, "v %f %f %f \n", vert[i], vert[i+1], vert[i+2]);
for (int i = 1; i < 35100; i += 3)
fprintf(obj, "f %i %i %i \n", i, i + 1, i + 2);
fclose(rb );
fclose(obj);
}
std::cout << "Done!\n";
}
c++_example.exe
or C#:
Code: Select all
using System.IO;
namespace example
{
internal class Program
{
static void Main(string[] args)
{
if (args.Length > 0)
{
float[] vert = new float[35100 * 12];
using (var InStream = File.Open(args[0], FileMode.Open))
{
using (var reader = new BinaryReader(InStream))
{
InStream.Seek(1761231, SeekOrigin.Begin);
for (int i = 0; i < 35100 * 12; i++)
vert[i] = reader.ReadSingle();
}
}
using (var OutStream = new StreamWriter(args[0].Replace(".igb", ".obj")))
{
for (int i = 0; i < 35100 * 3; i += 3)
OutStream.WriteLine($"v {vert[i]} {vert[i + 1]} {vert[i + 2]}".Replace(',', '.'));
for (int i = 1; i < 35100; i += 3)
OutStream.WriteLine($"f {i} {i + 1} {i + 2}");
}
}
}
}
}
c#_example.exe
wheel_python_script.png
well, or use hex2obj
You do not have the required permissions to view the files attached to this post.