首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >Unity3d从父源实例化子预置

Unity3d从父源实例化子预置
EN

Stack Overflow用户
提问于 2014-09-13 23:56:17
回答 1查看 5.1K关注 0票数 2

我最初在answers.unity3d上发布了这个问题,但没有得到答案,Unity3d从父源实例化子预置

我有一个名为GreyPiece的Prefab,当点击它时,这个GreyPiece应该创建相同类型的子级,目前我的GreyPiece类有一个公共转换对象GreyPieceTransform

代码语言:javascript
运行
AI代码解释
复制
public Transform greyPieceTransform;

此转换与在GreyPiece编辑器中拖放的主Unity3d预置文件相同,当单击该对象时,我根据需要实例化该对象的多个子对象,并将转换设置为它的父对象。

代码语言:javascript
运行
AI代码解释
复制
Transform greyPiece = Instantiate(greyPieceTransform, transform.position, transform.rotation) as Transform;
greyPiece.parent = transform;
Debug.Log("this id "+transform.GetInstanceID()+"\tprefab id "+greyPieceTransform.GetInstanceID()+"\tchild id "+greyPiece.GetInstanceID());

到目前为止,如果我创建一个对象并单击它,我将有一个子对象。

  • 亲本
    • 孩子

现在,如果我创建2,我会得到这个

  • 亲本
    • 孩子
    • 儿童
      • 孩子

如果我创造了3

  • 亲本
    • 孩子
    • 儿童
      • 孩子

代码语言:javascript
运行
AI代码解释
复制
- child      
    - child
    - child      
        - child

基本上,原来的GreyPieceTransform似乎正在改变,当我尝试实例化另一个对象时,它接受修改的当前父对象并从中实例化,如果我没有设置新实例化对象的父对象,这个问题就不会发生。

编辑:--我还添加了一个调试输出,debug.Log输出如下

这个id -185148预制件id -185148儿童id -185236 这个id -185148预制件id -185148儿童id -185318 这个id -185148预制件id -185148儿童id -185418

如您所见,父转换和预置转换具有相同的ids,但它们不应该

为了更清楚地说明这一点,我决定将转换命名为“灰色"+greyPiece.getInstanceID();这是它在层次结构视图中的样子。

因此,现在,我如何让grePieceTransform实际引用预置文件实例化,而不是让它具有与父引用相同的引用?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-09-14 01:03:02

我想问题是以下几点。在第一次实例化时,transformgreyPieceTransform指向同一个对象。你可以检查一下,比较实例ids

如果是这样的话,你看到的行为是合理的。当您第一次实例化一个新的GameObject时,源对象没有父对象,也没有子对象,因此只有一个子对象。第二次使用一个子实例实例化父进程,并将其作为子实例附加(图2)。诸若此类。

下面是一个简单的片段,可能会有所帮助:

代码语言:javascript
运行
AI代码解释
复制
public class Test : MonoBehaviour {

    public Transform prefab;

    // Use this for initialization
    void Start () {

    }

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

        if (Input.GetKeyDown(KeyCode.A))
        {
            Debug.Log("prefab id " + prefab.GetInstanceID() + " this id " + transform.GetInstanceID());
        }
    }
}

它将根据对象引用的设置方式打印不同的It组合。

案例1

如果Test附加到hierarchy中的对象,而prefab是对项目中的预置文件的引用,则ids将是不同的

案例2

如果将Test附加到hierarchy中的一个对象(这是一个预置实例),并且prefab是对项目id中链接的预置文件的引用,则仍然会有所不同。(prefab是从实例对象到预置对象的链接。在这种情况下,它应该是一个prefab属性覆盖,您应该在检查器中看到粗体字体)。Ids将是不同的.

案例3

如果将Test附加到预置文件,而字段prefab指向自身,则当第一次实例化它(或拖入层次结构)时,transform和prefab字段将指向同一个对象( prefab实例的转换)。Ids将相等.

显然,当从预置转换greyPieceTransform实例化一个对象时,它使用它作为当前对象并修改原始对象,因此greyPiece和greyPieceTransform将是相同的

不是的。如果对象的greyPieceTransformtransform不同,则不会修改“原始”。但也许他们不是。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25831217

复制
相关文章
为什么 strace 在 Docker 中不起作用?
在编辑“容器如何工作”爱好者杂志的能力页面时,我想试着解释一下为什么 strace 在 Docker 容器中无法工作。
用户8639654
2021/09/18
6.9K0
在bootstrap中col-md-offset-* 偏移不起作用
在bootstrap中,使用col-md-offset-1、col-md-offset-2、col-md-offset-3、col-md-offset-4等来设置偏移量很常见,但最近就遇到一个问题了,在最新版的bootstrap4.5中,这个值不起作用了。
kirin
2020/10/27
12.9K1
在条码打印软件中如何打印黑底白字标签
在条码打印软件中绘制普通文本添加文字的的时候,一般都是白底黑字的。但是有的时候,个别客户想要实现黑底白字的效果,这个在条码打印软件中该如何设置呢?接下来我们一起来看下在条码打印软件中将文字设置成黑底白字的操作步骤:
用户5746110
2019/09/10
2.4K0
在条码打印软件中如何打印黑底白字标签
在条码打印软件中绘制普通文本添加文字的的时候,一般都是白底黑字的。但是有的时候,个别客户想要实现黑底白字的效果,这个在条码打印软件中该如何设置呢?接下来我们一起来看下在条码打印软件中将文字设置成黑底白字的操作步骤:
用户5746110
2019/09/18
2.3K0
List.append() 在 Python 中不起作用,该怎么解决?
Python 是一种强大而灵活的编程语言,它提供了许多方便的数据结构和操作方法,其中之一就是列表(List)。列表是一个有序的集合,可以包含不同类型的元素,并且可以进行添加、删除和修改等操作。在 Python 中,我们通常使用 List.append() 方法向列表末尾添加元素。然而,在某些情况下,你可能会遇到 List.append() 方法不起作用的问题。本文将详细讨论这个问题并提供解决方法。
网络技术联盟站
2023/06/01
3.1K0
在Android logcat中打印FFmpeg调试信息
在FFmpeg源码中的ffmpeg.c文件的main函数中有avlogsetcallback的调用,而logcallback_null是个空的回调函数,一个思路是可以直接在该回调函数写打印代码:
用户1205080
2018/12/05
1.6K0
在Android logcat中打印FFmpeg调试信息
[常见问题]在Linux下执行Redis命令不起作用.
redis 127.0.0.1:6379> 这个后面无论输入什么命令都没有返回 ok 或者其他的信息,一直保持截图的状态: 解决方法: 在SecureCRT中设置Options-->SessionO
一枝花算不算浪漫
2018/05/18
2K0
在终端打印地图
无意间突发奇想,能否在终端中打印地图,然后找到了一篇文章介绍,只需运行这行代码: $ telnet mapscii.me # 若未安装telnet需安装一下 $ yum install telnet
宋天伦
2020/07/19
7830
在终端打印地图
在标签打印软件中如何快速对齐标签内容
在标签打印软件中制作标签的时候,有的时候标签内容比较多,文字长短不一,如果不好好排版的话,会感觉很乱,为了标签的美观,在标签打印软件中添加完需要的文字之后,可以选择我们想要排版的文字,点击软件中的对齐按钮,使标签内容迅速对齐。具体操作如下:
用户5746110
2019/09/10
4.3K0
SpringCloudGateWay中跨域配置不起作用
👨‍💻个人主页: 才疏学浅的木子 🙇‍♂️ 本人也在学习阶段如若发现问题,请告知非常感谢 🙇‍♂️ 📒 本文来自专栏: 问题(BUG)集合 🌈 每日一语:纯纯降智的我 🌈 问题描述 SpringCloudGateWay中跨域配置不起作用 使用filter @Component public class CORSFilter implements Filter{ @Override public void doFilter(ServletRequest request, Serv
才疏学浅的木子
2022/11/13
1.4K0
SpringCloudGateWay中跨域配置不起作用
RDLC(Reportview)报表直接打印,支持所有浏览器,客户可在linux下浏览使用
最近在做一个打印清单的,但是rdlc报表自带的工具栏中的打印按钮只有在ie内核下的浏览器才可以使用(其他的就会 隐藏),这导致了使用火狐和谷歌浏览器还有使用linux系统的客户打印成了问题,于是就自己百度搜,谷歌搜,然后就解决了,下面放上源码
冰封一夏
2019/09/11
2.1K0
报表打印(rdlc)
5打印工具类涉及到的组件和驱动函数 用到了蜡人张的RDLC报表系列所说的知识 RDLC报表
liulun
2022/05/09
8620
报表打印(rdlc)
轻量化设计在3D打印中的应用
3D打印通过逐层叠加原材料的方式,可以实现传统制造业难以解决的个性化、复杂的、高难度的制造难题,是传统制造技术的一次重要革命,广泛应用于汽车、航空、航天、医疗、教育、电子产品等领域,如下图所示。
联远智维
2022/01/20
1.2K0
轻量化设计在3D打印中的应用
RDLC发布出错整理
WinForm客户端软件开发时,使用rdlc做报表,并且使用ReportViewer呈现报表时,开发者的机器运行正常。但是部署到第三方机器上运行时报错。大致有以下几种错误: (1)未能加载文件或程序集“Microsoft.ReportViewer.Common, Version=11.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91”或它的某一个依赖项。系统找不到指定的文件。文件名:“Microsoft.ReportViewer.Common, Version=11.0.0.0, Culture=neutral,PublicKeyToken=89845dcd8080cc91” (2)RDLC的部署(无法找到Microsoft.ReportViewer.ProcessingObjectModel.dll文件) (3)找不到 Microsoft.SqlServer.Types.dll或者其他的依赖项
happlyfox
2018/10/31
1.7K0
打印机设置(PrintDialog)、页面设置(PageSetupDialog) 及 RDLC报表如何选择指定打印机
如果一台电脑同时连接多个打印机,而且每个打印机使用的纸张大小各不相同(比如:票据打印钱用的小票专用张,办公打印机用的是A4标准纸),在处理打印类的需求时,如果不用代码干预,用户必须每次打印时,都必须在弹出窗口里,手动选择打印机(还有可能需要设置纸张类型),这样用起来会比较烦。 幸好,.Net提供了“二”个很有用的类:PrintDialog(打印机设置对话框)、PageSetupDialog(页面设置对话框) (注:之所以给“二”加引号,是因为"打印机设置"其实已经完全包含了“页面设置”的所有功能,而且“ P
菩提树下的杨过
2018/01/24
3.5K0
打印机设置(PrintDialog)、页面设置(PageSetupDialog) 及 RDLC报表如何选择指定打印机
在sap系统设置纸张打印格式(针式打印机)
在sap做一个打印报表,要先设置一个纸张打印格式,下面以工厂中常用来打印的针孔纸为例,在sap设置该纸张的打印格式,以用于报表:
matinal
2020/11/27
3.4K0
在sap系统设置纸张打印格式(针式打印机)
python: 在图片上 打印中文
我整理的代码模板: # 指定字体文件地址 FONT_FILE_PATH = ... # 转换成PIL src_img = cv2.imread(img_path) img_PIL = Image.fromarray(cv2.cvtColor(src_img, cv2.COLOR_BGR2RGB)) draw = ImageDraw.Draw(img_PIL) # 配置参数 text = "Hello Nanjing !" normal_color, sum_color = (255, 255,
JNingWei
2018/09/27
1.6K0
Reporting Service报表开发
       项目中需要用到报表,经过技术验证和成本方面的考虑,最后决定使用Reporting Service,因此在这里把开发中的一些故事记下来,以备后用。        开发环境:VS2005,SQL SERVER 2005 SP3,这里说下为什么要用SP3,安全问题嘛,呵呵,如果用SP2,就会出现报表无法打印,报的错误是“无法加载客户端打印控件”,升级成SP3就OK了。      一、 中国式报表       对于形如Grid的这种表格,用RS来做超级简单,直接拖拽个表格就OK了。难的是中国式报表,比
JadePeng
2018/01/18
1.2K0
Reporting Service报表开发
解决WordPress文章密码保护在首页(摘要)不起作用
如果你碰到这个问题,就说明你的主题还不够完善。是的,之前Devework主题也是这样,但现在已经修复了。这类问题都是,首页的文章上如果是摘要显示的或者截断输出的,如果是密码保护文章压根儿没有提示输入密
Jeff
2018/01/19
1.8K0
在得力条码打印机中怎么设置双排标签纸
据我了解,得力好像是一款常见的打印机品牌,在打印机中设置双排标签的话需要一个专业的标签设计软件,然后在标签设计软件中进行排版及添加内容。具体设置双排标签纸的操作方法如下:
用户5746110
2019/09/26
3.5K0

相似问题

Python OpenCV calibrateCamera: objectPoints应该包含Point3f类型的向量向量

18

OpenCV错误:不支持的格式或格式的组合(Point3f类型的向量向量)

11

向量向量中Point3f的极大值

34

主方法中包含类对象抛出错误的向量

12

根据包含的类型检索向量的向量

10
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档