3D snoise artifact on x=y=z
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Accessibilité débutants
- 35/100
- Type d'issue
- Bug
- Clarté
- Plutôt claire
- Activité
- À l'abandon
- Domaine
- computer-graphics, game-dev
Piste de recherche
Commencez par l’implémentation de Unity.Mathematics.noise.snoise(float3) et exécutez le script Unity3D NoiseBugRepro fourni. Comparez la valeur en (2.00, 2.00, 2.00) avec les entrées voisines, puis vérifiez que l’artefact a disparu et que la sortie varie régulièrement le long de la ligne échantillonnée.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
The "snoise(float3 v)" function has artefacts in a line exactly at x=y=z.
This artefact seems to repeat in multiple places (always along the line x=y=z relative to a noise cell maybe?).
This produces obvious artefacts when used in my voxel engine in Unity3D,
which currently uses marching cubes to display the isosurface at value 0 of the 3d noise.
The relevant code is this:
valueForMarchingCubes = Unity.Mathematics.noise.snoise(pos3d / 100f) + 0.42f;
A reproduceable Unity3D script:
using UnityEngine;
using Unity.Mathematics;
using static Unity.Mathematics.math;
public class NoiseBugRepro : MonoBehaviour {
// Start is called before the first frame update
void Start () {
string output = "";
for (int i = 0; i<20; ++i) {
float x = lerp(1.8f, 2.2f, i / 20f);
float3 pos = float3(x, 2f, 2f);
float val = noise.snoise(pos / 20f);
output += string.Format("noise.snoise({0:F2}, {1:F2}, {2:F2}) -> {3:F6}\n", pos.x, pos.y, pos.z, val);
}
Debug.Log(output);
}
}
Output that shows the artefact when exactly on the x=y=z line:
noise.snoise(1.80, 2.00, 2.00) -> -0.373848
noise.snoise(1.82, 2.00, 2.00) -> -0.372971
noise.snoise(1.84, 2.00, 2.00) -> -0.372090
noise.snoise(1.86, 2.00, 2.00) -> -0.371204
noise.snoise(1.88, 2.00, 2.00) -> -0.370314
noise.snoise(1.90, 2.00, 2.00) -> -0.369420
noise.snoise(1.92, 2.00, 2.00) -> -0.368521
noise.snoise(1.94, 2.00, 2.00) -> -0.367619
noise.snoise(1.96, 2.00, 2.00) -> -0.366712
noise.snoise(1.98, 2.00, 2.00) -> -0.365801
noise.snoise(2.00, 2.00, 2.00) -> -0.571772
noise.snoise(2.02, 2.00, 2.00) -> -0.363966
noise.snoise(2.04, 2.00, 2.00) -> -0.363043
noise.snoise(2.06, 2.00, 2.00) -> -0.362115
noise.snoise(2.08, 2.00, 2.00) -> -0.361184
noise.snoise(2.10, 2.00, 2.00) -> -0.360248
noise.snoise(2.12, 2.00, 2.00) -> -0.359309
noise.snoise(2.14, 2.00, 2.00) -> -0.358365
noise.snoise(2.16, 2.00, 2.00) -> -0.357418
noise.snoise(2.18, 2.00, 2.00) -> -0.356467
- Langage dominant
- C#
- Étoiles
- 1.4k
- Forks
- 159
- Métriques de merge des PR
- Aucune PR mergée en 30 j
Préparer son environnement
Ce projet ne fournit ni conteneur de développement, ni Dockerfile, ni guide de contribution : l'installation est à votre charge. Commencez par son README, et consultez notre guide de la première contribution pour les étapes générales.
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de Unity-Technologies/Unity.Mathematics
-
Difficulté 2/5 1-3 heures Accessibilité débutants 62/100
-
Difficulté 2/5 1-3 heures Accessibilité débutants 55/100
-
Difficulté 4/5 3-5 jours Accessibilité débutants 45/100
-
64 Bit Quaternion RequestOuverte
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 25/100
Unity-Technologies/Unity.Mathematics#245 · 3 commentaires ·
-
Difficulté 3/5 1-2 jours Accessibilité débutants 42/100
Unity-Technologies/Unity.Mathematics#243 · 6 réactions ·
Toutes les issues de Unity-Technologies/Unity.Mathematics
Issues similaires
-
7.0
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
unoplatform/uno.extensions#3253 ·
Les mainteneurs répondent en général sous 1 jour
-
bug
Difficulté 2/5 1-3 heures Accessibilité débutants 62/100
Sector-Vestige/Sector-Vestige#476 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 75/100
PowerShell/platyPS#868 ·
-
S: Untriaged
Difficulté 2/5 1-3 heures Accessibilité débutants 62/100
Trauma-Station/Trauma-Station#5058 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 82/100
Les mainteneurs répondent en général sous 2 jours