Unity SetParent第二个参数worldPositionStays的意义

news2024/12/23 2:26:32

初学Unity的小知识:
改变对象的父级有三种调用方式,如下:

transMe.SetParent(transParent,true);
transMe.SetParent(transParent,false);
transMe.parent = transParent;

具体有什么区别呢,这里写一个测试例子来详细说明,先上代码

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class test333 : MonoBehaviour
{
    public Transform transMe;   //测试对象
    public Transform transParent;

    public bool toParent1;  //worldPositionStays = true
    public bool toParent2;  //worldPositionStays = false
    public bool toParent3;  //直接改parent

    public bool reset;
    void Start()
    {
        resetme();
    }

    private void resetme()
    {
        transMe.SetParent(null, false);
        transMe.position = new Vector3(0f, 3f, 0f);
    }

    // Update is called once per frame
    void Update()
    {
        if (reset)
        {
            reset = false;
            resetme();
        }
        if (toParent1)
        {
            transMe.SetParent(transParent,true);
            toParent1 = false;
        }

        if (toParent2)
        {
            toParent2 = false;
            transMe.SetParent(transParent, false);
        }

        if (toParent3)
        {
            toParent3 = false;
            transMe.parent = transParent;
        }
    }
}

下图中:红色是parent,在(1,1,1),白色盒子是要改变parent的对象,在(0,3,0)默认位置。
在这里插入图片描述

我们来看下几种变化:

第一种worldPositionStays为True

transMe.SetParent(transParent,true);

第二个参数是True。标识需要保留当前的世界坐标,很好理解,运行后,勾选toParent1,我们看到位置没有任何变化,只是改变了父子级。
在这里插入图片描述

第二种worldPositionStays为False

transMe.SetParent(transParent, false);

我们运行后发现改变父子级后,会把当前的Local坐标叠加到新的位置,明显看到是parent的位置上加上了(0,3,0)坐标后的位置。
在这里插入图片描述

第三种改变parent

transMe.parent = transParent;

运行后和第一种相同,都是保留世界坐标。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1711536.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

ROS2 Topics和Services

本文主要介绍ROS的Topics概念,如何创建Publisher和Subscriber,通过Topic在ROS程序间通信;介绍ROS的Services概念,如何创建Client和Server并建立通信。 更多内容,访问专栏目录获取实时更新。 ROS Topics Topics可以被视…

SQL数据库多层嵌套 json转sql建表语句,SQL数据库里数组里对象数据怎么创建

1. uniapp sqlite 一个数组包含对象嵌套对象通过主外键方式插入数据库: // 假设有一个对象数组,对象中包含嵌套对象 const objectsArray [{parentObject: {id: 1,name: Parent 1,// 其他父对象属性},childObject: {id: 11,parentId: 1,name: Child 1 o…

TOPSIS综合评价

TOPSIS法(Technique for Order Preference by Similarity to an Ideal Solution)是一种常用的综合评价方法,该方法根据有限个评价对象与理想化目标的接近程度进行排序,是在现有的对象中进行相对优劣的评价。 TOPSIS法的原理是通过…

Github 2024-05-29 C开源项目日报 Top10

根据Github Trendings的统计,今日(2024-05-29统计)共有10个项目上榜。根据开发语言中项目的数量,汇总情况如下: 开发语言项目数量C项目10C++项目3PHP项目1PHP:流行的Web开发脚本语言 创建周期:4710 天开发语言:C, PHP协议类型:OtherStar数量:37340 个Fork数量:7657 次…

SpringBoot 微服务中怎么获取用户信息 token

SpringBoot 微服务中怎么获取用户信息 token 当我们写了一个A接口,这个接口需要调用B接口,但是B接口需要包含请求头内容,比如需要用户信息、用户id等内容,由于不在同一个线程中,使用ThreadLocal去获取数据是无法获取的…

[java基础揉碎]文件IO流

目录 文件 什么是文件 文件流​编辑 常用的文件操作 创建文件方式一 创建文件方式二 创建文件方式三 tip:为什么new file 了还有执行createNewFile?new File的时候其实是在内存中创建了文件对象, 还没有在磁盘中, 当执行createNewFile的时候才是往磁盘中写入​编辑 …

申请的商标名称相同或近似,如何解决!

最近遇到一些首次申请注册商标的主体,基本想的名称都是两个字或或者两个字加通用词,还有用的行业描述词或缺乏显著特征词,这样去申请注册商标,普推知产老杨分析这样去直接申请注册大概率驳回。 两个字基本上注册的差不多了&#…

推券客CMS淘宝优惠券网站源码

推券客CMS淘宝优惠券网站源码是一个以PHPMySQL进行开发的PHP淘宝客优惠券网站。支持电脑站、手机站以及微信公众号查券。支持多级代理返利和阿里妈妈最新的渠道管理等功能。 五大优势 一、全开源 推券客cms网站程序数据库完全开源,目前市场上基本都是以下2种淘宝客系统 第一…

Redis:redis基础

Redis Remote Dictionary Service即远程字典服务 一个基于内存的key-value结构数据库,在开发中常常作为缓存存储不经常被改变的数据 基于内存存储,读写性能高 在企业中应用广泛 Redis介绍 用C语言开发的开源高性能键值对数据库,可以达到10w的qps,可以存储丰富的value类型…

从alpine构建预装vcpkg的docker image用于gitea actions CI

动机 想要构建一个基于vcpkg的交叉编译容器平台用于cpp项目的CI(自动集成),此处仅提供最基础的image,amd64的机子上构建完成后大小为533兆(着实不小😓),各位看官可以在此基础上自行…

Gradle的学习

1.1 Gradle的优势 一款最新的,功能最强大的构建工具,用它逼格更高 使用Groovy或Kotlin代替XML,使用程序代替传统的XML配置,项目构建更灵活 丰富的第三方插件,让你随心所欲使用 完善Android,Java开发技术体系 1.2 …

Filebeat进阶指南:核心架构与功能组件的深度剖析

🐇明明跟你说过:个人主页 🏅个人专栏:《洞察之眼:ELK监控与可视化》🏅 🔖行路有良友,便是天堂🔖 目录 一、引言 1、什么是ELK 2、FileBeat在ELK中的角色 二、Fil…

树莓派4B 学习笔记1:TF卡系统盘烧录_初次启动_远程端连接配置

今日开始学习树莓派4B 4G:(Raspberry Pi,简称RPi或RasPi) TF卡系统盘烧录_初次启动_远程端连接配置 目录 格式化SD卡: 烧录系统Win32DiskImager: Raspberry Pi Imager镜像烧写: 树莓派官网资料…

教育装备之先导小型五轴加工中心

随着制造业的快速发展和技术的不断进步,对高端技术人才的需求日益增长。五轴联动技术作为解决异性复杂零件高效优质加工问题的重要手段,受到了广泛关注。因此,培养掌握五轴联动技术的专业人才显得尤为重要。 先导小型五轴加工中心提供了真实的…

「数据结构」队列

目录 队列的基本概念 队列的实现 头文件queue.h 实现函数接口 1.初始化和销毁 2.出队列和入队列 3.获取队头元素和队尾元素 4.队列长度判空 后记 前言 欢迎大家来到小鸥的博客~ 个人主页:海盗猫鸥 本篇专题:数据结构 多谢大家的支持啦&#xff…

对比表征学习(一)Contrastive Representation Learning

对比表征学习(二)Sentence Embedding 主要参考翁莉莲的Blog,本文主要聚焦于对比损失函数 对比表示学习(Contrastive Representation Learning)可以用来优化嵌入空间,使相似的数据靠近,不相似的数…

玩转STM32-通用同步/异步收发器USART(详细-慢工出细活)

CPU与外围设备之间的信息交换或计算机与计算机之间的信息交换称为通信。基 本的通信方式有两种,即并行通信和串行通信。文章目录 一、串行通信基础1.1 串行通信的方式1.2 串行通信的数据传输形式1.3 波特率 二、STM32的USART的结构特征(了解)…

采集EthernetIP IO从站设备数据 转 profinet IO协议项目案例

1 文档说明 设置网关采集EthernetIP IO设备数据把采集的数据转成profinet IO协议转发给其他系统。 2 准备工作 仰科网关。支持采集EthernetIP IO数据,profinet IO协议转发。电脑。IP设置成192.168.1.198,和网关在同一个网段。网线、12V电源。 3 网关…

MySQL8报错Public Key Retrieval is not allowedz 怎么解决?

问题描述 当我们使用数据库管理工具连接mysql8的时候,可能遇到报错: Public Key Retrieval is not allowed 解决办法 1、在连接属性中配置allowPublicKeyRetrieval设置为true 2、在连接URL中加上配置allowPublicKeyRetrieval为true

《软件方法(下)》8.3.4.6 DDD话语“聚合”中的伪创新(1)

DDD领域驱动设计批评文集 做强化自测题获得“软件方法建模师”称号 《软件方法》各章合集 8.3 建模步骤C-2 识别类的关系 8.3.4 识别关联关系 8.3.4.6 DDD话语“聚合”中的伪创新 DDD话语中也有“聚合”。Eric Evans的“Domain-Driven Design: Tackling Complexity in the…