1
0
forked from cgvr/DeltaVR

set up shape detection minigame pieces

This commit is contained in:
2026-01-13 16:06:13 +02:00
parent d2ac917db3
commit 3097c404ba
11 changed files with 149 additions and 75 deletions

View File

@@ -46,8 +46,8 @@ public class ArcheryRangeModelGenerationController : MonoBehaviour
byte[] imageBytes = await InvokeAiClient.Instance.GenerateImage(refinedPrompt);
GeneratedTexture = CreateTexture(imageBytes);
Sprite sprite = CreateSprite(GeneratedTexture);
GeneratedTexture = ModelGenerationUtils.CreateTexture(imageBytes);
Sprite sprite = ModelGenerationUtils.CreateSprite(GeneratedTexture);
imageDisplay.sprite = sprite;
imageGenerationButton.Deactivate();
@@ -63,7 +63,7 @@ public class ArcheryRangeModelGenerationController : MonoBehaviour
string encodedTexture = Convert.ToBase64String(GeneratedTexture.EncodeToJPG());
byte[] encodedModel = await TrellisClient.Instance.GenerateModel(encodedTexture);
GameObject spawnedObject = await PipelineManager.Instance.SpawnModel(encodedModel);
GameObject spawnedObject = await ModelGenerationUtils.Instance.SpawnModel(encodedModel);
// Destroy previous generated object
Destroy(GeneratedModel);
spawnedObject.transform.parent = modelDisplay;
@@ -75,34 +75,6 @@ public class ArcheryRangeModelGenerationController : MonoBehaviour
modelGenerationInProgress = false;
}
private Texture2D CreateTexture(byte[] imageBytes)
{
var tex = new Texture2D(2, 2, TextureFormat.RGBA32, false);
// ImageConversion.LoadImage returns bool (true = success)
if (!ImageConversion.LoadImage(tex, imageBytes, markNonReadable: false))
{
Destroy(tex);
throw new InvalidOperationException("Failed to decode image bytes into Texture2D.");
}
tex.filterMode = FilterMode.Bilinear;
tex.wrapMode = TextureWrapMode.Clamp;
return tex;
}
private Sprite CreateSprite(Texture2D tex)
{
var sprite = Sprite.Create(
tex,
new Rect(0, 0, tex.width, tex.height),
new Vector2(0.5f, 0.5f),
pixelsPerUnit: 100f
);
return sprite;
}
private void OnModelReady()
{
foreach (MeshRenderer meshRenderer in wire.GetComponentsInChildren<MeshRenderer>())