- Home /
Attaching objects to objects In game
I am almost clueless approaching this subject but have been eager to figure it out, finding that really hard as I don't even know what this action is called. Am looking for pointers as to what to look into to make this work.
Basically Its a construction game where parts will fit onto other parts some parts would be designed to only fit into exact positions and some parts should be able to fit anywhere onto a part. I'm clueless as to both, sort of like how parts connect in something like Kerbal Space programme or minecraft? (not played but im assuming those blocks lock together!)
Here is what ive to together so far...
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Connect : MonoBehaviour
{
public GameObject beam;
public Transform con1;
public Transform con2;
public GameObject[] connections;
public Transform closestCon;
public float snapDist = 3;
public float distHolder = 10;
public bool isConnected;
void Start()
{
{
connections = GameObject.FindGameObjectsWithTag("Connection1");
Debug.Log(connections);
}
}
void Update()
{
if (isConnected == false)
{
Debug.Log("registered");
SnapSearch();
}
}
void SnapSearch()
{
foreach (GameObject con in connections)
{
float dist = Vector3.Distance(con1.position, con.transform.position);
if (dist <= distHolder)
{
distHolder = dist;
closestCon = con.transform;
}
if (distHolder <= snapDist)
{
con1.transform.position = new Vector3(con.transform.position.x, con.transform.position.y, con.transform.position.z);
transform.position = new Vector3(con1.transform.position.x - dist, con1.transform.position.y, con1.transform.position.z);
// ^
// This is a tempory cheat whilst I figurge how to make it universal on any axis
//isConnected = true;
Debug.Log("It did work!");
}
}
}
}
I,m having a brain block with how to simply move the parent with the child in what would be multiply directions in reality.
Secondly rather than translating itself into the same spot every frame I figured a "isConnected" bool would achieve that however really strange but adding that made it move to a completly wrong place which is baffling as the bool simply turns off all the code on a line AFTER its supposed to have been moved to the correct site?
Your answer
Follow this Question
Related Questions
Detect if object is child, from extern script 1 Answer
Connection Error with MS SQL 2014 and Unity3D 0 Answers
How to check that only one key is pressed 2 Answers
Trouble with LLAPI 0 Answers
Unity WebSocket Client 2 Answers