Ich habe ein System erstellt, das .FBX -Modelle dynamisch in den 3D -Raum importieren kann. Ich habe eine Klasse, die jedes Spielobjekt, das in die Szene importiert wurde, automatisch Mesh -Kollider hinzufügt, damit sie leicht Klicks erkennen und Folgendes tun können. Die Mesh -Kollider scheinen jedoch nicht auf die Objekte angewendet zu werden. Dies führt dazu, dass mein Raycast Hits verpasst und in meinem .exe -Build kein Klick erkannt wird. Dies ist hauptsächlich ein Build -Problem. Alles scheint im Unity Editor in Ordnung zu sein. < /P>
using System.IO;
using UnityEngine;
public class AutoMeshColliderManager : MonoBehaviour
{
void Update()
{
DetectAndApplyColliders(); // Continuously check for new models
}
void DetectAndApplyColliders()
{
GameObject[] allObjects = FindObjectsOfType();
foreach (GameObject obj in allObjects)
{
if (obj.transform.parent == null) // Only check root objects
{
AddCollidersRecursively(obj.transform); // Add to parent + children
}
}
}
void AddCollidersRecursively(Transform parent)
{
// Check if the object already has a collider
if (!parent.gameObject.GetComponent())
{
MeshFilter meshFilter = parent.gameObject.GetComponent();
if (meshFilter != null && meshFilter.sharedMesh != null)
{
MeshCollider meshCollider = parent.gameObject.AddComponent();
meshCollider.convex = false; // Set convex to false (adjust if needed)
Debug.Log("Added MeshCollider to: " + parent.gameObject.name);
}
}
// Recursively apply to all child objects
foreach (Transform child in parent)
{
AddCollidersRecursively(child);
}
}
}
enter code here
enter code here
Ich habe ein System erstellt, das .FBX -Modelle dynamisch in den 3D -Raum [url=viewtopic.php?t=18708]importieren[/url] kann. Ich habe eine Klasse, die jedes Spielobjekt, das in die Szene importiert wurde, automatisch Mesh -Kollider hinzufügt, damit sie leicht Klicks erkennen und Folgendes tun können. Die Mesh -Kollider scheinen jedoch nicht auf die Objekte angewendet zu werden. Dies führt dazu, dass mein Raycast Hits verpasst und in meinem .exe -Build kein Klick erkannt wird. Dies ist hauptsächlich ein Build -Problem. Alles scheint im Unity Editor in Ordnung zu sein. < /P> [code] using System.IO; using UnityEngine;
public class AutoMeshColliderManager : MonoBehaviour { void Update() { DetectAndApplyColliders(); // Continuously check for new models }
foreach (GameObject obj in allObjects) { if (obj.transform.parent == null) // Only check root objects { AddCollidersRecursively(obj.transform); // Add to parent + children } } }
void AddCollidersRecursively(Transform parent) { // Check if the object already has a collider if (!parent.gameObject.GetComponent()) { MeshFilter meshFilter = parent.gameObject.GetComponent();
if (meshFilter != null && meshFilter.sharedMesh != null) { MeshCollider meshCollider = parent.gameObject.AddComponent(); meshCollider.convex = false; // Set convex to false (adjust if needed) Debug.Log("Added MeshCollider to: " + parent.gameObject.name); } }
// Recursively apply to all child objects foreach (Transform child in parent) { AddCollidersRecursively(child); } } }
Ich verwenden die Visual Studio -Community mit der Windows Forms -Vorlage und fragte sich, ob es eine Möglichkeit gibt, auf eine neu erstellte PCB zu verweisen, wenn sie während der Laufzeit erstellt...
Ich verwenden die Visual Studio -Community mit der Windows Forms -Vorlage und fragte sich, ob es eine Möglichkeit gibt, auf eine neu erstellte PCB zu verweisen, wenn sie während der Laufzeit erstellt...
Ich mache gerade einen Schützen der ersten Person mit mir, dem Spieler und kämpft gegen Zombies. Ich habe also Munitionsboxen, die mit dieser Funktion um die Karte verstreut sind:
Drucken der Konsole
Was ist das? Was bedeutet diese Zahl? Übrigens: Dies ist ein Tetris -Klon und jedes Mal, wenn ich ein Stück färbt, erhöht sich die Zahl um 200.
Drucken der Konsole
Was ist das? Was bedeutet diese Zahl? Übrigens: Dies ist ein Tetris -Klon und jedes Mal, wenn ich ein Stück färbt, erhöht sich die Zahl um 200.