Unity-Technologies / Unity-Technologies/com.unity.netcode.gameobjects

Allow configuring NetworkTransform through a ScriptableObject

Ouverte
#3,870 5 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

Tracking type:feature-2.x
Langage dominant
C#
Étoiles
2.3k
Forks
461
Merge moyen
3 j 16 h
PR mergées (30 j)
20

Description

Whenever I create a new thing requiring the synchronization of a transform, I add a NetworkTransform component to it, and have to configure the properties of it again and again to the same exact values I have found to work for my use cases. This becomes increasingly bothersome as the complexity of the project increases. And if you then want to modify something later you have to go through everything manually and change the properties. (Yes I know, prefab variants, but those are only viable in very specific situations)

I would propose moving most of the properties on the NetworkTransform to a ScriptableObject saved to the assets folder, so you could configure those options in a more cohorent way. You could create different configs for fast moving objects, big slow objects, etc. and assign them to different NetworkTransforms easily.

The properties I often myself copy pasting which would be good candidates to live on ScriptableObjects are:

  • Axis to synchronize
  • Thresholds
  • Interpolation settings (these are the most painful to reconfigure every time)
  • Quaternion sync, compression, half float precision

This could be an additional feature accessible through the NetworkTransform through a boolean toggle in the inspector, to not break existing workflows.

Guide de contribution

Ouvrir le guide de contribution

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Piste de recherche

Commencez par inspecter le composant NetworkTransform et ses propriétés sérialisées de l’inspecteur, en particulier les axes de synchronisation, les seuils, l’interpolation, la synchronisation des quaternions, la compression et la précision half-float. Déterminez comment une configuration ScriptableObject pourrait être assignée sans perturber les workflows existants, puis vérifiez que les configurations peuvent être créées en tant qu’assets et appliquées à plusieurs NetworkTransforms.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
csharp, unity
Domaine
game-dev, networking
Type d'issue
Fonctionnalité
Difficulté
5/5
Temps estimé
Plus d'une semaine
Activité
À l'abandon
Clarté
Plutôt claire
Accessibilité débutants
35/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.