Как я могу генерировать процедурные астероидные образования куба?JAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Как я могу генерировать процедурные астероидные образования куба?

Сообщение Anonymous »

Я пытаюсь найти лучший способ генерировать астероиды кубического вокселя кубика на основе перлана, но не могу найти последовательный метод для этого. /> вместе с этим статическим методом, чтобы вывести из него 3D -шум: < /p>

public static double Perlin3D(PerlinNoise noise, double x, double y, double z)
{
double AB = noise.getHeight(x, y);
double BC = noise.getHeight(y, z);
double AC = noise.getHeight(x, z);

double BA = noise.getHeight(y, x);
double CB = noise.getHeight(z, y);
double CA = noise.getHeight(z, x);

double ABC = AB + BC + AC + BA + CB + CA;
return ABC / 6;
}

< /code>
и этот метод для создания фактических астероидов: < /p>
public void Generate()
{
PerlinNoise p = new PerlinNoise(seed, persistence, frequency, amplitude, octaves);

GameObject newUnit = Instantiate(unit, genPoint, Quaternion.identity);
newUnit.transform.SetParent(transform);

for (int x = 0; x < maxDistanceFromCenter * 2; x++)
{
for (int y = 0; y < maxDistanceFromCenter * 2; y++)
{
for (int z = 0; z < maxDistanceFromCenter * 2; z++)
{
int targetX = genPoint.x - maxDistanceFromCenter + x;
int targetY = genPoint.y - maxDistanceFromCenter + y;
int targetZ = genPoint.z - maxDistanceFromCenter + z;

Vector3Int targetPos = new Vector3Int(targetX, targetY, targetZ);
Vector3 targetVector3d = new Vector3(targetX, targetY, targetZ).normalized;

double distFromCenter = Vector3.Distance(genPoint, targetPos);

double maxDistFromCenter = (NoiseHelper.Perlin3D(p, targetVector3d.x, targetVector3d.y, targetVector3d.z));

print(maxDistFromCenter);

if (distFromCenter < maxDistFromCenter)
{
GameObject newUnit2 = Instantiate(unit, targetPos, Quaternion.identity);
newUnit2.transform.SetParent(transform);
}
}
}
}
}
< /code>
К сожалению, я получаю результаты, которые выглядят так. Я ни в коем случае не ищу ответа на это единство, это совершенно концептуально для использования в различных проектах кодирования. Спасибо за помощь в Advanced, и я очень ценю ваше время, чтобы одолжить мне руку,
cheers.

Подробнее здесь: https://stackoverflow.com/questions/665 ... formations
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»