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 /
  • Help Room /
avatar image
0
Question by LagSik · Dec 13, 2020 at 05:18 PM · animationgameobjectinstantiateanimationclip

Problem instantiating a dead replacement gameObject for killed enemy

Context

Hello Unity Community. I’m new to programming and it’s my first post here. I’ve decided to star my journey with the book Unity for Absolute Beginners (Blackman, 2014). I think I’m blocked in my progression due to some minor changes in scripting references between 2014 and 2020. Here’s my situation.

Content

I have a first-person player-character shooting explosive PotatoAmmo at ZombieBunny. When a potato hit a Bunny, the critter disappears. This process is going well until I try to replace the shot Bunny with a dead replacement with an animation. There are 3 main scripts involved here.

  1. A PotatoLaucher script applied on an empty gameObject pointing forward (z axis) from gun point. It instantiates a clone of the PotatoAmmo at the location & orientation of the script's parent and adds forward velocity to the rigidbody of PotatoAmmo.

  2. A Projectile script applied on PotatoAmmo that instantiates an explosion (from Particle System) OnCollisionEnter at the PotatoAmmo contact point with other colliders.

  3. A ReceivedHit script applied on ZombieBunny whose ifStatement is to look for collision with PotatoAmmo and “if true” call a function named DestroyBun() that destroy ZombieBunny.

    Problem

Every think works perfectly until I want to replace the shot ZombieBunny with another prefab named ToastedZombie (which is a child of a parent Toasted Zombie Parent) with a disappearing animation named “Jump Shrink”.

Here is the problematic ifStatement added in the DestroyBun() function:

     if (deadReplacement)
     {
         // get the dead replacement object's parent
         GameObject deadParent = deadReplacement.transform.parent.gameObject;

         // instantiate the dead replacement's parent at this object's transform
         GameObject dead = (GameObject)Instantiate(deadParent, transform.position, transform.rotation);

         // trigger its default animation
         deadReplacement.GetComponent<Animator>().Play("Jump Shrink");

         // destroy the dead replacement's parent after a second
         Destroy(dead, 1.0f);
     }

Here is the core problem: When this block of code is added:

  • ZombieBunny stop disappearing on contact with PotatoAmmo.

  • The GameObject variable deadReplacement (assign with the ToastedZombie) isn’t instantiated in the scene on contact.

  • The “Jump Shrink” animation isn’t played.

    P.S.

I know it may sound like a noob question, but I can’t manage my way around it and I can’t progress further in the book. If someone could gently give me some advices (with detail ideally) or share some documentation, I would be really grateful.

Comment
Add comment · Show 7
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 xxmariofer · Dec 14, 2020 at 03:11 PM 1
Share

are there any errors in the console? are you sure deadReplacement gameobject exists when the DestroyBun method is called?

avatar image LagSik xxmariofer · Dec 14, 2020 at 03:25 PM 0
Share

Hi xxmariofer. Console is clean. The deadReplacement gameObject is declared at the top of my ReceivedHit script as follow:

 public class ReceivedHit : $$anonymous$$onoBehaviour
 {
     public GameObject game$$anonymous$$anager;        // the master repository for game info
     public GameObject deadReplacement;  // ToastedZombie replacement when Zombie Bunnies are hit
     public GameObject smokeplume;           // smoke particle system
 
     void Start()
     {
         game$$anonymous$$anager = GameObject.Find("Game $$anonymous$$anager");  // identify and assign the Game $$anonymous$$anager Objet to game$$anonymous$$anager variable
     }
avatar image xxmariofer LagSik · Dec 14, 2020 at 04:12 PM 1
Share

but are you sure you have drag and dropped and never deleted an instante of deadReplacement?

Show more comments

1 Reply

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

Answer by LagSik · Dec 15, 2020 at 02:10 AM

alt text

The screenshot shows the prefab hierarchy where my ToastedZombie is parented with the empty gameObject Toasted Zombie Parent. From that, I understand that when I'm drag-dropping my ToastedZombie from the Project view into the deadReplacement in script component, the parent isn't include. That's a great lesson.

To workaround that, I replaced this line:

 GameObject deadParent = deadReplacement.transform.parent.gameObject;

with this one:

 GameObject deadParent = deadReplacement.transform.gameObject;

Then, I drag-dropped the Toasted Zombie Parent onto my Dead Replacement on the ReceivedHit script component of my ZombieBunny.

I don't know if it's a good coding practice, but it worked. Thanks a lot for your insight. Much appreciated.


screenshot2.png (6.8 kB)
Comment
Add comment · Show 2 · 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 xxmariofer · Dec 15, 2020 at 11:15 AM 1
Share

change

 deadReplacement.transform.gameObject;

to simply

 deadReplacement;

it is redundant

avatar image LagSik xxmariofer · Dec 15, 2020 at 01:47 PM 0
Share

xxmariofer, you are my saviour ! Thanks a lot for your time and patience.

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

492 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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

Scope Animation doesn't work?! 0 Answers

Problem with destroying a gameobject 2 Answers

Multiple Instantiations not working 0 Answers

How to instantiate a game object every time when space key is pressed 2 Answers

Moving a spawned object in a direction 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