Wayback Machinekoobas.hobune.stream
May JUN Jul
Previous capture 13 Next capture
2021 2022 2023
1 capture
13 Jun 22 - 13 Jun 22
sparklines
Close Help
  • Products
  • Solutions
  • Made with Unity
  • Learning
  • Support & Services
  • Community
  • Asset Store
  • Get Unity

UNITY ACCOUNT

You need a Unity Account to shop in the Online and Asset Stores, participate in the Unity Community and manage your license portfolio. Login Create account
  • Blog
  • Forums
  • Answers
  • Evangelists
  • User Groups
  • Beta Program
  • Advisory Panel

Navigation

  • Home
  • Products
  • Solutions
  • Made with Unity
  • Learning
  • Support & Services
  • Community
    • Blog
    • Forums
    • Answers
    • Evangelists
    • User Groups
    • Beta Program
    • Advisory Panel

Unity account

You need a Unity Account to shop in the Online and Asset Stores, participate in the Unity Community and manage your license portfolio. Login Create account

Language

  • Chinese
  • Spanish
  • Japanese
  • Korean
  • Portuguese
  • Ask a question
  • Spaces
    • Default
    • Help Room
    • META
    • Moderators
    • Topics
    • Questions
    • Users
    • Badges
  • Home /
avatar image
0
Question by LeonardChallis · Aug 19, 2014 at 12:30 PM · transformchildchildren

Why do we access children through an object's transform?

I am reading about the various ways to access different game objects, specifically in my case, children. I have noticed that we are told to access children in a manner of ways through the Transform of said object. But I don't seem to be able to find any place that explains why we would use the Transform to access children, when I thought that was just concerned with the scale, position and rotation. Admittedly, the Transform of a parent affects its children, but could someone explain or give me a link to a decent explanation on why it's done this way? I want to understand it properly.

Thanks!

Comment
Add comment
10 |3000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users

2 Replies

· Add your reply
  • Sort: 
avatar image
1
Best Answer

Answer by senc01a · Aug 19, 2014 at 01:04 PM

Hi, This is an interesting question. Unity uses the Scenegraph structure to organize a scene. Scenegraph defines a hierarchical structure of parents, children and siblings that are used for determining how objects should be placed, rotated and scale in relation to each other.

Scenegraph example

As you have probably noticed, the only property that all Gameobjects have in common is the Transform, since such determines its properties within the Scenegraph. Unity encapsulates everything about this Scenegraph in the Transform Class, which as I previously mentioned, is a mandatory element of a Gameobject.

Thus, because the Transform is the class that encapsulates the Scenegraph relative information of a particular Gameboject, and because the Gameobject is nothing more than a simple container (which can be decorated by means of attaching additional components or monobehaviours), you have to access the children of a gameobject through its transform property.

I hope that helped.

Comment
Add comment · Show 1 · Share
10 |3000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users
avatar image LeonardChallis · Aug 19, 2014 at 01:39 PM 0
Share

It sure did, thanks. I think the best thing I can take away from it is the fact that the Transform is the common property and combined with how the scenegraph works, it actually makes logical sense to do it this way. When I see logical sense, I am very happy :) So thanks, @senc01a!

avatar image
1

Answer by Owen-Reynolds · Aug 19, 2014 at 02:07 PM

The main thing(*) childing does is to base position, rotation and scale on the parent's. The child's Transform is linked to the parent's Transform.

So, if you think of it like "does this Transform have anything it's tracking?" then it makes perfect sense that parents come from your Transform, to another Transform, and not from/to gameObjects.

(*)Can also use parenting as a way to make "folders," like with an empty parent at 000, which you will never move. In that case, having a gameObject parent would make sense. But this is a lot rarer.

Comment
Add comment · Share
10 |3000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users

Your answer

Hint: You can notify a user about this post by typing @username

Up to 2 attachments (including images) can be used with a maximum of 524.3 kB each and 1.0 MB total.

Follow this Question

Answers Answers and Comments

24 People are following this question.

avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image

Related Questions

transform.childCount == 0, but a child shows up in the hierarchy. How is this possible? 2 Answers

Getting transform info after branch 1 Answer

all parents of a transform 1 Answer

Child-objects are not properly 'transformed' with parent 1 Answer

Child Transform 1 Answer


Enterprise
Social Q&A

Social
Subscribe on YouTube social-youtube Follow on LinkedIn social-linkedin Follow on Twitter social-twitter Follow on Facebook social-facebook Follow on Instagram social-instagram

Footer

  • Purchase
    • Products
    • Subscription
    • Asset Store
    • Unity Gear
    • Resellers
  • Education
    • Students
    • Educators
    • Certification
    • Learn
    • Center of Excellence
  • Download
    • Unity
    • Beta Program
  • Unity Labs
    • Labs
    • Publications
  • Resources
    • Learn platform
    • Community
    • Documentation
    • Unity QA
    • FAQ
    • Services Status
    • Connect
  • About Unity
    • About Us
    • Blog
    • Events
    • Careers
    • Contact
    • Press
    • Partners
    • Affiliates
    • Security
Copyright © 2020 Unity Technologies
  • Legal
  • Privacy Policy
  • Cookies
  • Do Not Sell My Personal Information
  • Cookies Settings
"Unity", Unity logos, and other Unity trademarks are trademarks or registered trademarks of Unity Technologies or its affiliates in the U.S. and elsewhere (more info here). Other names or brands are trademarks of their respective owners.
  • Anonymous
  • Sign in
  • Create
  • Ask a question
  • Spaces
  • Default
  • Help Room
  • META
  • Moderators
  • Explore
  • Topics
  • Questions
  • Users
  • Badges