Unity-Technologies / Unity-Technologies/Unity.Mathematics

Multiplication operator behaves differently between Unity.Mathematics.float4x4 and UnityEngine.Matrix4x4

Aperta
#83 3 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Lingua principale
C#
Stelle
1.4k
Fork
159
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Descrizione

The multiplication operator is defined for both float4x4 and Matrix4x4, but has different semantics. The traditional Unity Matrix4x4 does the intuitive thing, which is a matrix multiplication, whereas float4x4 does a componentwise multiplication (like HLSL) and requires using mul to get the matrix multiplication.

This can lead to bugs that are very hard to spot while porting over math code from C# to HPC#, so it could be worth considering changing this, or at least very clearly highlighting this in the documentation and possible best practice / upgrade guides.

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Direzione di ricerca

Inizia individuando le definizioni degli operatori di moltiplicazione di float4x4 e Matrix4x4 e confrontando la loro semantica con quella della funzione mul descritta nell’issue. Esamina la documentazione esistente e le indicazioni per l’aggiornamento relative a questi tipi. Il lavoro è completato quando viene concordata una scelta tra modificare il comportamento dell’operatore e documentare chiaramente la differenza, insieme al relativo lavoro di documentazione o implementazione.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
csharp, unity
Ambito
game-dev
Tipo di issue
Funzionalità
Difficoltà
5/5
Tempo stimato
Più di una settimana
Stato di attività
Ferma
Chiarezza
Da chiarire
Idoneità per principianti
20/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.