unity 找到的对象是动态加载,且两个不同的父物体上都有要的那个对象并有相同的名子

1, 程序没运行时没有红色的部分,其是程序运行时动态加载出现。

2,找到 Plan01下面的Magbox

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using ConnectionPlugin;
using ServerCommunication;

public class HTCTracker : MonoBehaviour {

	//to have variables of tracker pos and rot
	public static Vector3 trackerPos = new Vector3(0,0,0);
	public static Quaternion trackerRot = new Quaternion(0,0,0,0);
	public static Vector3 trackerSca = new Vector3 (0, 0, 0);

	private Transform tracker;
	private GameObject planGO;
	private string childName;
	private bool findTracker = true;
	//socket to send message
	private TCPConnection myTCP;   
	// Use this for initialization
	void Start () {
		childName = "Magbox";
		// 0. init serverices ---------------------------------------------------------------------------------
		myTCP = new TCPConnection();
		//string keys = "0123456";
		//tracker = new GameObject();
		//temTracker = new GameObject();

			
	}
	
	// Update is called once per frame
	void Update () {


		while (findTracker) {

			//tracker = GetTransform(game.transform, childName);

			planGO = GameObject.Find("Plan01");

			if (planGO == null) 
				break;
			else
			{
				tracker = GetTransform(planGO.transform, childName);
				if (tracker == null) {
					print ("while");
					break;
				}

				if(tracker)
					findTracker = false;
			}

		}
		if (tracker != null && tracker.name == "Magbox") {
			
			tracker.Rotate (new Vector3 (0, 1, 0), 3);
			tracker.RotateAround (new Vector3 (0, 0, 0), new Vector3 (0, 1, 0), 1);


			//1 get tracker transform
			trackerPos = transform.localPosition;
			trackerRot = transform.localRotation;
			trackerSca = transform.localScale;

			//test right transform?
			print("trackerPos is " + trackerPos);
			print("trackerRot is " + trackerRot);

			//		MessageIDInfo mcps1 = new MessageIDInfo(MessageType.MT_SCENECREATEPOINT);
			//		mcps1.ID = System.Text.Encoding.ASCII.GetBytes(key);
			//		Point pnt1 = new Point(0, 1, 0);
			//		mcps1.Info = pnt1.ToByteArray();
			//		myTCP.WriteSocket(mcps1.ToByteArray());
			//
			//2 send to server
		}



	}

	Transform GetTransform(Transform check, string name)
	{
		foreach (Transform t in check.GetComponentsInChildren<Transform>())
		{
			if (t.name == name) 
			{
				//要做的事
				Debug.Log(t.name);
				return t;    
			}    
		}
		return null;
	}

}
	

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值