unity中怎样获取其他父节点的子节点

unity中怎样获取其他父节点的子节点,第1张

通过GameObject.Find("节点的名字"), 来寻找到其他节点的object;

不管是父节点,子节点 都可以直接码凳找到。

//题外话

GameObject.Find()消耗大,别用到Update()

如果这个节点的active 是false 用GameObject.Find()是找不到的。

(active 为false 就是Tag 位置上边的勾选框 没有勾选)

这就是为什么会建立一个空节点作为父节点,然后在空节点下面放其他有用的节点吧。。。?

让这个空节点active 保持迟春旅是 true

然后通过

GameObject.Find("空节点的名字").transform.Find("active是false的子森告节点")

使用环境

unity3D 5 pro

vuforia 4

ios 8.1(6.1)

xcode 6.1(6.2)

1.新建unity3d工程,添加vuforia 4.0的工程包

Hierarchy中

删除原有camera

添加ARCamera

添加ImageTarget

2.在vuforia网站申请key license以及上传自己的需要举凳销识别的图片。成功后下载图片包,并添加进unity3D工程。设置工程

成功在ARCamera中 Inspector - App License Key添加key license

勾选Data Set Load Behaviour

勾选Load Data Set XX(XX是自己的图片名)

勾选 Activate

3.选Hierarchy - ImageTarget,设置识别图片

Inspector - Image Target Behaviour

Data Set设置自己的图片

Image Target 自己图片的名字

4.Project中添加进自己的模型(YYY.fbx)设置识别的动态模型

将模型拖入ImageTarget作为子节点YYY(模型能识别了)

选YYY

Inspector - Model - Select

Rig - Animation Type

选Legacy(模型能动了)

5.添加GUI,支持播放视频(ios上)

在ASSETS中新建一个C#脚本,并拖入到Hierarchy - ARCamera - Camera上

编辑脚本

复制代码

//纯手敲,可能会有没检查正游的打字错误

public Texture logo//和谐睡因

void Start()

{

CameraDevice.Instance.SetFocusMode(CameraDevice.FOCUS_MODE_CONTINUOUSAUTO)

//相机对焦,IOS可有可无

}

void OnGUI()

{

if(GUI.Button(new Rect(20,20,100,50),"Play"))//添加的播放视频按钮

{

Handheld.PlayFullScreenMovie("xxx.mp4",Color.black,FullScreenMovieControlMode.Full)

}

//不可用原始图片大小,图片加入unity3D中时会自动改变大小,因此不能获取图片大小,此大小为睡因大小

float width = 144.0f

float height = 64.0f

GUI.DrawTexture(new Rect(0, Screen.height - height, wide, height),logo)

}

复制代码

选择Hierarchy - ARCamera - Camera,将自己需要和谐睡因的图片拖入Inspector-C#脚本-logo。

xxx.mp4的文件位置很重要,一定要粗颤放在 Assets/StreamingAssets/ 目录下,不放在此目录下则无法播放。

6.导入到XCODE工程,记得配置opengles2.0(详见我上一篇,看不见背景相机怎么办)


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11994593.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-20
下一篇 2023-05-20

发表评论

登录后才能评论

评论列表(0条)

保存