Giter Club home page Giter Club logo

sollumz's Introduction

Sollumz

Blender plugin to import, export, or create GTA V assets in the Codewalker XML format.

By Skylumz, Colton Fox and alexguirre.

Join our Discord

Join the Sollumz discord server to ask questions and chat with the community!

Using the plugin

See the wiki to get started. Make sure to read the wiki before posting an issue or asking questions! Also, see the Tutorials and Resources channel on the Discord server.

Note: The issue tracker should be for bug reports and feature requests only. If you are having an issue and you are not sure if it is a bug or not, ask on the Discord server first!

Features

Supported Formats (Import)

  • YDD
  • YDR
  • YBN
  • YCD
  • YMAP
  • YTYP
  • YNV (Partial)
  • YFT

Supported Formats (Export)

  • YDD
  • YDR
  • YBN
  • YCD
  • YMAP
  • YTYP
  • YFT

General Features

  • Import / Export
  • Automatic texture loading
  • Vertex colors
  • Bones and weights
  • Animations
  • Custom normals
  • Shader editing
  • Vehicle creation/editing
  • Dynamic prop creation/editing

Requirements

Installation

  1. Download the latest release
  2. Start Blender
  3. Click menu Edit > Preferences...
  4. Go to the Addons tab in the middle
  5. Click Install... button at the top
  6. Select the Downloaded ZIP
  7. The following entry should be shown: Import-Export: Sollumz
  8. Enable the addon
  9. Restart Blender

Supporters ❤️

sollumz's People

Contributors

alexguirre avatar arifsezeraktas avatar coltfox avatar cuppat-student avatar d1n3301 avatar deadp1xl avatar deforce avatar dkden7e avatar dolutattoo avatar ekinoxx0 avatar fhsjxk avatar hancapo avatar jzzdc avatar kc2693 avatar kemperrr avatar loyalists avatar michael21107 avatar moravianlion avatar ook3d avatar p-lauski avatar pichotm avatar protrikk avatar ranstar74 avatar reszolute avatar rigonkmalk avatar sadler2 avatar skylumz avatar tiwabs avatar ultrahacx avatar zideveloper avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

sollumz's Issues

Export ydr error

Python: Traceback (most recent call last):

File "C:\Users\Thomas\AppData\Roaming\Blender Foundation\Blender\2.92\scripts\addons\Sollumz-main\ydrexport.py", line 1131, in execute result = write_ydr_xml(context, self.filepath)

File "C:\Users\Thomas\AppData\Roaming\Blender Foundation\Blender\2.92\scripts\addons\Sollumz-main\ydrexport.py", line 1071, in write_ydr_xml root = write_drawable(obj, filepath)

File "C:\Users\Thomas\AppData\Roaming\Blender Foundation\Blender\2.92\scripts\addons\Sollumz-main\ydrexport.py", line 1012, in write_drawable drawablemodels_node = write_drawablemodels_node(geometrys, materials, bones)

File "C:\Users\Thomas\AppData\Roaming\Blender Foundation\Blender\2.92\scripts\addons\Sollumz-main\ydrexport.py", line 409, in write_drawablemodels_node drawablemodels_high_node.append(write_model_node(high_models, materials, bones))

File "C:\Users\Thomas\AppData\Roaming\Blender Foundation\Blender\2.92\scripts\addons\Sollumz-main\ydrexport.py", line 352, in write_model_node vertex_str = get_vertex_string(obj_eval, vlayout, bones, depsgraph)

File "C:\Users\Thomas\AppData\Roaming\Blender Foundation\Blender\2.92\scripts\addons\Sollumz-main\ydrexport.py", line 228, in get_vertex_string layoutlist = order_vertex_list(tlist, vlayout)

File "C:\Users\Thomas\AppData\Roaming\Blender Foundation\Blender\2.92\scripts\addons\Sollumz-main\ydrexport.py", line 49, in order_vertex_list for i in range(len(vlayout)):

TypeError: object of type 'NoneType' has no len()

location: :-1

Anims?

Can I add or modify animations? Make an animation in blender and add it to gta 5? If not, will it be in the future?

Finish ymap

Fix extents. Apply imported rotations and scale.

'NoneType' object has no attribute 'vertices'. Trying to Export ydr.xml

Traceback (most recent call last):
File "C:\Users\Manu\AppData\Roaming\Blender Foundation\Blender\2.90\scripts\addons\Sollumz-main\ydrexport.py", line 1131, in execute
result = write_ydr_xml(context, self.filepath)
File "C:\Users\Manu\AppData\Roaming\Blender Foundation\Blender\2.90\scripts\addons\Sollumz-main\ydrexport.py", line 1071, in write_ydr_xml
root = write_drawable(obj, filepath)
File "C:\Users\Manu\AppData\Roaming\Blender Foundation\Blender\2.90\scripts\addons\Sollumz-main\ydrexport.py", line 943, in write_drawable
bbsphere = get_sphere_bb(children, bbminmax)
File "C:\Users\Manu\AppData\Roaming\Blender Foundation\Blender\2.90\scripts\addons\Sollumz-main\ydrexport.py", line 910, in get_sphere_bb
for vert in mesh.vertices:
AttributeError: 'NoneType' object has no attribute 'vertices'

location: :-1

Broken exterior UVs on .YFTs (Vehicles)

I'm just trying to import some vehicles and I am having problems on the exterior UV's, and that's weird because for example most other UV's work fine....

Just imported the .xml on blender:
https://i.gyazo.com/aca62aa0b54ad5192f9a6dbf1ef59d77.png

On 3DS max (since I use it more than blender):
https://i.gyazo.com/a7cd5fcb41fe8f20766a80eb971c393f.png

Other UV's works perfectly:
https://i.gyazo.com/c95be14e44886599ea3c57c60b783073.png

Example Model: https://www.gta5-mods.com/vehicles/1999-ford-crown-victoria-taxi

But I repeat myself, I am having these problems in 2-3 previously tested models so seems common. Something fixable or am I doing something wrong?

Import YBN - Wrong Rotation on Geometry.

Tested on file - hei_dt_20_0.ybn

After importing some geometry is placed wrongly (rotation issue)

One of the visible problems on the image below. (Vanilla file on the right from RPF explorer)
image

Ymap import not working

Steps to reproduce:

  1. Open the Sollumz toolset
  2. Attempt to import .ymap.xml file

--> Error will pop up showing the following:

image

This pops up no matter which ymap is being used, nor what other entities or geometry are in the scene.

YCD xml conversion

I have started YCD XML conversion and when complete need to integrate it with the work that is on the main branch.

File reorganization

We should move all the helper files to the tools folder (including meshhelper) and make the names consistent (i.e. rename blender_helper.py to blenderhelper.py)

I cannot export 3d models as YDR format

Hi, I'm having a problem that doesn't allow me to export ANY model from blender as YDR.
When I try to export the model no selection window appears,(like shown in this image)
image
And so no object is selected, I've used blender 2.9,2.93 and I went back to try older versions like 2.8 but nothing, the bug is still there and when I try to export no selection windows appears and so it gives this error "No object in scene for Sollumz to export".
What would normally happen is this window popping up when exporting
image

Sollumz Not Functional

Do we have a update on the refractor? In its current state this sadly doesn't work - do we have a previous version that works with blender?

Status of refactor?

The refactor branch is 9 commits ahead of main and the last commit was 11 days ago.
What's the refactor's status? I there an ETA for when it's done?
I'd like to contribute to this repository, but I'm blocked because the refactor is underway and there's no communication for what's the plan and expectations.
Specifically I'd like to contribute to YFT import and export, dealing with #32 and #33.

YFT import does not support "damaged" part

I have no idea if this is the fault of CodeWaker or your script, but after importing yft.xml, only the model and its loots are loaded into Blender, but there is no model simulating a broken model.
TSurptk7Z7
f3sPtL060o

Problems with importing cars. [yft.xml]

Today I tried to import dune_hi and dune3_hi models, both models get this error, and also the cars have no wheels at all!

Read prefs: C:\Users\%username%\AppData\Roaming\Blender Foundation\Blender\2.93\config\userpref.blend
register_class(...):
Warning: 'Sollumz_PT_MAT_PANEL' doesn't have upper case alpha-numeric prefix
Python: Traceback (most recent call last):
  File "C:\Users\%username%\AppData\Roaming\Blender Foundation\Blender\2.93\scripts\addons\Sollumz-main\yftimport.py", line 81, in execute
    for item in LOD1.find('Children').getchildren():
AttributeError: 'xml.etree.ElementTree.Element' object has no attribute 'getchildren'

location: <unknown location>:-1

Module Not Found Error

I followed all the steps to install, go to enable the addon and it says ModuleNotFoundError: No module named 'Sollumz'. Not sure what this means.

Imported YFT model parts lack names

If I import an .yft.xml I get a fixture with children like Pose, Physics, and a bunch of skel_mesh.XXX (where XXX is a running index).
This isn't convenient, because names are truncated. The XML has names for parts of the model, so why not use it?

Imported YFT Models result in hierarchy inconsistent with ZModeler

Many modders are used to the way ZModeler creates the model's hierarchy.
It's more ordered and helps the workflow of the modder via fine-grained hierarchy of parts and subparts.
The way ZModeler seems to create the hierarchy is based on the Index and ParentIndex of bones in the skeleton, with associations to the geometries.

I'd like to help implement this, but I'm not very good with Python. I'm having difficulties with implementing this to make a pull request.
I made a short JavaScript script to load an .yft.xml and construct the hierarchy as expected:

const fs = require('fs');
const xml2js = require('xml2js');

(async () => {
    const xmlString = await fs.promises.readFile('./asea_hi.yft.xml', { encoding: 'utf8' });
    const xml = await xml2js.parseStringPromise(xmlString);
    const fragment = xml.Fragment;
    const drawable = fragment.Drawable[0];
    const skeleton = drawable.Skeleton[0];
    const bones = skeleton.Bones[0].Item;
    const drawableModelsHigh = drawable.DrawableModelsHigh[0].Item[0];
    const geometries = drawableModelsHigh.Geometries[0].Item;

    // Make bones array in to a random-access object
    const bonesMap = {};
    bones.forEach(bone => {
        bonesMap[bone.Index[0].$.value] = {
            Name: bone.Name[0],
            ParentIndex: bone.ParentIndex[0].$.value,
            geometries: [],
        };
    });

    // Assemble hierarchy of bones
    for (let key in Object.keys(bonesMap)) {
        const value = bonesMap[key];
        const children = Object.values(bonesMap).filter(bone => bone.ParentIndex === key);
        value.children = children;
    }

    // Associate geometries to bones
    geometries.forEach(geometry => {
        const boneIds = geometry.BoneIDs[0].split(', ');
        boneIds.forEach(boneId => {
            bonesMap[boneId].geometries.push(geometry);
        });
    });
})();

On Export, UV Mapping connects unconnected vertices

When exporting a drawable as a YDR.XML file, it appears to mess up the UV Map and connect vertices which are normally unconnected.

Here is what the original UV Map looks like:

Here is what happens when exported:

From the looks of it, this seems to be caused by UV Map islands. I did a quick test, and it appears UV Maps where there is no separate vertices, it exports just fine.

I tried to rule out whether it is Codewalker causing the issue, but it appears I cannot re-import the same YDR.XML I exported.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.