Unity克隆物体并控制显隐
克隆物体的子物体的控制属于动态显隐控制,无法提前拖动到代码的变量之上,正好项目中遇到了,因此专门写了一个小程序测试了一下 克隆物体的子物体名字的不变性,克隆的物体这里我单独命名了。主界面如下(包括了hide按钮的挂载代码情况):
主代码CloneObject.cs如下
using System.Collections;
using System.Collections.Generic;
using UnityEngine;public class CloneObject : MonoBehaviour
{public GameObject boneOriginal;public GameObject boneReposition;public GameObject bonetop;public GameObject Targetplane;// Start is called before the first frame updatevoid Start(){}// Update is called once per framevoid Update(){}public void CreatTibia(){// GameObject targetobject = GameObject.Find("ModelTarget/TestObject");//GameObject targetobject = GameObject.Find("AJ19_Tibia");Vector3 cubeposition = targetobject.transform.position;Quaternion cuberotation = targetobject.transform.rotation;//这段可以用的,只是获得的cubeposition和markerposition之间又多了一层误差。要知道本来获得的markerposition是有眼镜环境定位的误差的// Vector3 cubeposition = markerposition + markerrotation * (cubeposition - markerposition);//此句虽然是用的向量加旋转,但依然是眼镜获得的两个全局值再运算,跟上面一个效果,多一层误差。Debug.Log($"cubeposition is ({cubeposition.x},{cubeposition.y},{cubeposition.z}),cuberotation is ({cuberotation.eulerAngles.x},{cuberotation.eulerAngles.y},{cuberotation.eulerAngles.z})");Debug.Log($"cube local position is ({targetobject.transform.localPosition.x},{targetobject.transform.localPosition.y},{targetobject.transform.localPosition.z}),cube local rotation is ({targetobject.transform.localRotation.eulerAngles.x},{targetobject.transform.localRotation.eulerAngles.y},{targetobject.transform.localRotation.eulerAngles.z})");GameObject newobject = GameObject.Instantiate(targetobject, cubeposition, cuberotation);newobject.name = "newtibia";Debug.Log("cube is created!");targetobject.SetActive(false);boneReposition = GameObject.Find("newtibia/Tibia dis repositionsegmentation");Targetplane= GameObject.Find("newtibia/Target planesegmentation");}public void hide(){if (!boneReposition.activeInHierarchy){boneReposition.SetActive(true);Targetplane.SetActive(true);}else{boneReposition.SetActive(false);Targetplane.SetActive(false);}}
}
克隆按钮的挂在如下,四个prefab物体变量都是空着的,运行过程中赋值。
运行,点击clone按钮之后如下(左侧生成了新的克隆物体,右侧的prefab因动态赋值,多了两个物体):
点击hide按钮之后如下(其实此时物体有两个部分隐藏了):
再次点击Hide按钮如下(都又出来了):
Unity克隆物体并控制显隐相关推荐
- mui实现上下滑动控制显隐效果
概述 本文讲述在mui框架下实现上下滑动控制显隐的效果. 效果 实现 html <!DOCTYPE html> <html><head><meta chars ...
- Wex5 组件的bind-visible属性控制显隐
1.选择需要控制显隐的组件,在bind-visible属性绑定值 2.js代码如下 3.在控制显隐的btn按钮的点击事件中,js代码如下 或者有更灵活的写法this.shouldShowVersion ...
- Vue 顶部栏滚动控制显隐和文字字体闪光动画效果随笔
Vue top栏滚动显隐和文字字体颜色过渡动画效果随笔 好长时间没用css动画效果了,今天恰好在封装某个组件时用上,随笔记下. <template><div class=" ...
- 元素显隐切换过渡效果的实现
近来看到 饿了么 App和 h5站上,在商家详情页点餐之后,底部放置了一个点击之后能够弹出模态框查看点餐详情的元素,其中有个背景遮罩层的渐进显隐的效果. 凭着我少许的经验,第一时间的想法是觉得这个遮罩 ...
- Unity VR:如何自定义手部显隐
Unity VR:如何自定义手部显隐 背景 VR的手部动作在抓取时是很难和物体模型完全匹配的,于是有一个偷懒的做法就是每当手部实际抓取某个物品时就自动隐藏手部模型,但注意此时功能还在,所以隐去的只是M ...
- 【Unity3D】Inspector界面属性显隐控制(条件控制)
前言(可以不看) 早之前写自定义GroupLayout的时候就想要有个Inspector界面属性显隐控制(条件控制)的东西了,当时还完全没有想到该怎么写,最近又遇到了相关的东西就去尝试写了个,经过测试 ...
- ArcGIS JS API 4.X实现动态地图服务子图层显隐控制
ArcGIS JS API 4.X实现动态地图服务子图层显隐控制 文章目录 ArcGIS JS API 4.X实现动态地图服务子图层显隐控制 使用场景 官网示例 注意事项 使用场景 图层控制功能 官网 ...
- Android隐藏导航栏按键,Android如何控制导航栏单个按键的显隐状态
我们都知道Android系统的导航栏通常有三个按键,分别是BACK, HOME, APP_SWITCH. 网上很多有关导航栏和状态栏显隐的文章,但几乎都是控制导航栏或状态栏所有按键同时显示或消失,如果 ...
- 控制primitives显隐
可以使用如下方法来控制primitives(原语)的显隐: 在HTML中,可以使用display属性控制元素的显示与隐藏.例如,可以使用display:none来隐藏元素,使用display:bloc ...
最新文章
- 【 Notes 】WLLS Algorithm of TOA - Based Positioning (include the two - step WLS estimator)
- c语言综合性实验数字益智游戏排行榜,C语言综合性实验报告1.doc
- iOS开发异常错误总结之——wait_fences: failed to receive reply: 10004003
- 标记接口,注解和注解处理器的前世今生
- SpringBoot使用velocity模板引擎
- java11创建项目_2019-04-11 使用IDEA创建SpringBoot项目
- 笔记本AutoCAD启动时闪退怎么办_戴尔笔记本电脑开不了机如何解决【解决方法】...
- SQL Server Profiler使用方法
- 【前端】书签应用开发总结
- java开源打印控件_这个WEB打印控件略牛逼,还免费
- 优酷1080p的kux格式文件转换方法
- ps将psd等比缩放、等份切片、psd转为jpg、Cutterman、切片方法、旋转方法(编辑)
- H3C网络设备模拟器配置VLAN-Hybrid
- window10华硕计算机主板VT,华硕主板怎么开启vt
【设置步骤】
- 高频信号发生器设计—电容三点式振荡电路
- Tensorflow Saver
- Attrbute value muster
- 数据挖掘课程笔记--关联分析
- 大四会计转码 初学c语言的心路历程
- 王道考研计算机网络第六章——应用层
热门文章
- 学客中国-在线文档分享
- Mysql查看数据库时区并设置时区
- 【虚拟机/服务器】su、su -和sudo的区别是什么及如何设置初始su密码
- android显示二维毫秒,Android应用开发Android 悬浮窗显示毫秒级时间
- C#中dataGridView用法集
- 为什么MyISAM会比Innodb的查询速度快。 btree 和 lsm(hbase) ,cola 树(tokuDB)选型和原理
- 畅想chatGPT在工业场景中的应用场景
- 洛谷P1518 两只塔姆沃斯牛
- CSS3字体火焰燃烧效果
- C++删除单链表指定元素