Skip to content

Commit

Permalink
com.atteneder.gltfast Release 6.10.0
Browse files Browse the repository at this point in the history
  • Loading branch information
atteneder committed Jan 30, 2025
1 parent 531bf59 commit 2ea1153
Show file tree
Hide file tree
Showing 62 changed files with 3,100 additions and 1,797 deletions.
6 changes: 6 additions & 0 deletions .github/renovate.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
{
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
"extends": [
"local>unity/renovate-config"
]
}
40 changes: 40 additions & 0 deletions .github/workflows/renovate-validation.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
# Refer to https://internaldocs.unity.com/renovate/ for more documentation

# This workflow is for validating the Renovate configuration and docker image
# updates for it.
name: Renovate Validation
on:
workflow_dispatch:
inputs:
log-level:
type: choice
description: Select log level for Renovate
options:
- trace
- debug
- info
- warn
- error
default: info
required: false
pull_request:
paths:
# we trigger validation on any changes to the renovate workflow files
- .github/workflows/renovate*.yml
# as well as for any possible location for the renovate config file
- .github/renovate.json?


jobs:
renovate-validation:
# The reusable workflow will be updated by renovate if there's a new version
uses: unity/renovate-workflows/.github/workflows/run.yml@v4.0.0
with:
# This is the image that contains our custom renovate and will be auto
# updated by Renovate itself.
image: europe-docker.pkg.dev/unity-cds-services-prd/ds-docker/renovate:10.2.4@sha256:3c19b168b1a9a4ca076ad5f858176ef0b2eafc34aafcd6e2276133a563d35112
dry-run: full
log-level: ${{ github.event.inputs.log-level }}
secrets:
renovate-auth-secret: ${{ secrets.RENOVATE_AUTH_SECRET }}
github-com-token: ${{ secrets.GH_COM_TOKEN }}
37 changes: 37 additions & 0 deletions .github/workflows/renovate.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
# Refer to https://internaldocs.unity.com/renovate/ for more documentation

# This workflow runs Renovate against the current repo and will create PRs with outdated dependencies.
name: Renovate

on:
workflow_dispatch:
inputs:
log-level:
type: choice
description: Select log level for Renovate
options:
- trace
- debug
- info
- warn
- error
default: info
required: false
schedule:
# Default daily scheduled run. Feel free to change this to run when you want it to.
- cron: '25 17 * * *'

jobs:
renovate:
# The reusable workflow will be updated by renovate if there's a new version
uses: unity/renovate-workflows/.github/workflows/run.yml@v4.0.0
with:
# This is the image that contains our custom renovate and will be auto
# updated by Renovate itself.
image: europe-docker.pkg.dev/unity-cds-services-prd/ds-docker/renovate:10.2.4@sha256:3c19b168b1a9a4ca076ad5f858176ef0b2eafc34aafcd6e2276133a563d35112
log-level: ${{ github.event.inputs.log-level }}
secrets:
renovate-auth-secret: ${{ secrets.RENOVATE_AUTH_SECRET }}
github-com-token: ${{ secrets.GH_COM_TOKEN }}


31 changes: 31 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,14 +4,44 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [6.10.0] - 2024-12-16

### Added
- Extended access to meshes.
- `IGltfReadable.GetSourceMesh` returns source (de-serialized glTF) mesh.
- `GltfImportBase.Meshes` to retrieve all imported meshes.
- `GltfImportBase.GetMeshCount` returns the number of imported meshes per glTF mesh.
- `GltfImportBase.GetMeshes` to iterate the imported meshes of a single glTF mesh.
- `GltfImportBase.GetMesh` to access a single imported meshes.
- Test asset *SubMesh*.
- (CI) Automatically generated CI jobs (via Wrench/RecipeEngine; required for PackageWorks).
- (CI) Renovate action to auto-update dependencies in CI jobs.
- (CI) Renovate validation action.
- `JpgQuality` option in `ExportSettings` for finer control of jpg image exports.
- Project versions to test projects.

### Changed
- Mesh primitives of equal vertex buffer layout will result in a single Unity mesh with multiple sub-meshes instead of multiple Unity meshes (fixes [#153](https://github.com/atteneder/glTFast/issues/153)).

### Deprecated
- `IGltfReadable.GetAccessor` (replaced by `IGltfReadable.GetAccessorData`).
- `GltfImportBase.GetMeshes` (replaced by `GltfImportBase.Meshes`).

### Fixed
- Preserve per-submesh bounding box.
- `GltfAsset` properly cleans up scene instance's `Animation` component, which fixes repeated loading of animated glTFs.

## [6.9.1] - 2024-11-15

### Added
- (Test) `OpenGltfScene` with open glTF file dialog for convenient testing.
- (Test) Tests for C# jobs that calculate or re-order indices.
- Third party notices.
- `GltfImportBase.Logger` grants access to the logger in use.
- `GltfImportBase.DeferAgent` grants access to the defer agent in use.

### Changed
- Convert one mesh's primitives of identical target vertex buffer structure into sub-meshes of one Unity mesh instead of splitting them up into multiple Unity meshes (fixes [#153](https://github.com/atteneder/glTFast/issues/153)).
- Node name is assigned earlier during instantiation, enabling easier node identification by name (partially fixes [#724](https://github.com/atteneder/glTFast/issues/724)).
- (Test) Updated test project dependencies.
- (CI) Migrated code coverage.
Expand All @@ -23,6 +53,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

### Fixed
- Made sure that mesh primitives of different drawmode (topology) are not mixed up.
- Apply morph targets/blend shapes before uploading to GPU in `GLTFAST_KEEP_MESH_DATA` mode.

## [6.9.0] - 2024-10-30

Expand Down
2 changes: 1 addition & 1 deletion Documentation~/test-project-setup.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ This repository comes with test projects that are pre-configured to have all req

To open a project open [Unity® Hub][UnityHub], go to *Projects* and pick *Add**Add project from disk*. Select the respective project folder from within the `Projects` directory in your local copy.

Now the project will be listed in Unity Hub with an *Unknown* editor version. Upon opening the project first time you have to pick a version of your choice (within the range of [supported versions](features.md#unity-version-support)).
Upon opening the project you can pick a Unity version of your choice (within the range of [supported versions](features.md#unity-version-support)). In fact you might have to, if the predefined version is not installed. If you decide to work on more recent versions, keep in mind that for contributions your changes have to be backwards compatible to all supported versions.

## Setup a Custom Project

Expand Down
2 changes: 1 addition & 1 deletion Editor/Scripts/GltfImporter.cs
Original file line number Diff line number Diff line change
Expand Up @@ -199,7 +199,7 @@ public override void OnImportAsset(AssetImportContext ctx)
AddObjectToAsset(ctx, $"materials/{mat.name}", mat);
}

var meshes = m_Gltf.GetMeshes();
var meshes = m_Gltf.Meshes;
if (meshes != null)
{
foreach (var mesh in meshes)
Expand Down
6 changes: 3 additions & 3 deletions Runtime/Scripts/DOTS/EntityInstantiator.cs
Original file line number Diff line number Diff line change
Expand Up @@ -187,14 +187,14 @@ public virtual void AddPrimitive(
uint[] joints = null,
uint? rootJoint = null,
float[] morphTargetWeights = null,
int primitiveNumeration = 0
int meshNumeration = 0
) {
if ((m_Settings.Mask & ComponentType.Mesh) == 0) {
return;
}
Profiler.BeginSample("AddPrimitive");
Entity node;
if(primitiveNumeration==0) {
if(meshNumeration==0) {
// Use Node GameObject for first Primitive
node = m_Nodes[nodeIndex];
} else {
Expand Down Expand Up @@ -297,7 +297,7 @@ public void AddPrimitiveInstanced(
NativeArray<Vector3>? positions,
NativeArray<Quaternion>? rotations,
NativeArray<Vector3>? scales,
int primitiveNumeration = 0
int meshNumeration = 0
) {
if ((m_Settings.Mask & ComponentType.Mesh) == 0) {
return;
Expand Down
Loading

0 comments on commit 2ea1153

Please sign in to comment.