- Home /
Question by
The_Darkwing_Duck · Jul 12, 2018 at 07:34 PM ·
c#cameranetworkingplayerlockon
Lock on opponent in UNET (C#)
So I am trying to make my character lock on an opponent(Similar to rocket league ballcam), but it keeps finding itself. Rather than the network opponent, how do I prevent this?(C#)
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Networking;
public class LockOn : NetworkBehaviour
{
MouseLookSimple look;
private Transform enemy;
private GameObject me;
private void Start()
{
me = this.gameObject;
look = GetComponent<MouseLookSimple>();
}
private void Update()
{
if (enemy = me.transform)
{
//look.enabled = true;
enemy = GameObject.Find("MainCharacter(Clone)").transform;
Debug.Log("Finding Target");
}
else
{
//look.enabled = false;
if (isLocalPlayer)
{
transform.LookAt(enemy);
Debug.Log("GET EM!!!");
}
}
}
}
Comment
that did not fix anything? any other suggestions?
Answer by The_Darkwing_Duck · Jul 13, 2018 at 07:50 PM
Found solution, hope this helps if you need it!
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Networking;
public class LockOn : NetworkBehaviour
{
MouseLookSimple look;
private Transform enemy;
private GameObject opponent;
private GameObject me;
private void Start()
{
me = this.gameObject;
look = GetComponent<MouseLookSimple>();
}
private void Update()
{
RemoveAllOther();
}
public void RemoveAllOther()
{
GameObject[] others = GameObject.FindGameObjectsWithTag("MainCharacter"); //Get array of
opponent = GameObject.Find("MainCharacter(Clone)");
enemy = opponent.transform;
foreach (GameObject go in others)
{
Debug.Log(go);
if (go != me)
{
transform.LookAt(go.transform);
}
}
}
}