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 Seventh Stealth · Nov 05, 2013 at 06:30 PM · javascripttransformfpsenemy

2 in 1 question - Enemy transforms and Frames per second

Question 1 : I have a simple AI Script that makes an enemy move towards a player . The player is defined as a transform variable in the script

 v

 ar Distance;
     var Target : Transform;
     var lookAtDistance = 25.0;
     var attackRange = 15.0;
     var moveSpeed = 5.0;
     var Damping = 6.0;
     
     function Update ()
     {
         Distance = Vector3.Distance(Target.position, transform.position);
         
         if (Distance < lookAtDistance)
         {
             renderer.material.color = Color.yellow;
             lookAt();
         }
         
         if (Distance > lookAtDistance)
         {
             renderer.material.color = Color.green;
         }
         
         if (Distance < attackRange)
         {
             renderer.material.color = Color.red;
             attack ();
         }
     }
     
     function lookAt ()
     {
         var rotation = Quaternion.LookRotation(Target.position - transform.position);
         transform.rotation = Quaternion.Slerp(transform.rotation, rotation, Time.deltaTime * Damping);
     }
     
     function attack ()
     {
         transform.Translate(Vector3.forward * moveSpeed * Time.deltaTime);
     }

When I go to select the transform it only lets me pick transforms from my assets . I saved the player transform as a prefab but it still doesn't let me choose the player . How can I change it so it lets me pick from the Transforms in the actual scene .

QUESTION 2 : I only have a couple of objects in the hierarchy mostly meshes (All togwether 70-100 objects). When I play my game it gets speeds of 26 fps but then after Enemies spawn it goes down to speeds of anything from 2fps to 11 fps . How can I stop this from happening

Comment
Add comment · Show 9
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 Tanshaydar · Nov 05, 2013 at 06:43 PM 0
Share

A prefab is actually a game object. But why not use the gameobject and call its transform as gameObject.transform? And you are using update function unnecessarily. Ins$$anonymous$$d of checking the distance on every frame, just use a sphere collider and OnTriggerEnter & OnTriggerExit

avatar image Starwalker · Nov 05, 2013 at 07:51 PM 0
Share

your 1st question is closely answered by the comment above, as for your Enemy spawn FPS drop, are you using raycasting on all the spawns? for navigating purposes?

avatar image Seventh Stealth · Nov 06, 2013 at 04:40 PM 0
Share

No am I meant to be ?

avatar image Loius · Nov 06, 2013 at 04:43 PM 0
Share

Drag and drop the transform you want into the inspector field - it's not restricted to the project.

avatar image Starwalker · Nov 06, 2013 at 09:33 PM 0
Share

You can check your game profiler to see what consumes the most amount of CPU or GPU resources, here the script or the object being the culprit, is what you need to find. If you have a pro license its easier but if not, you can still find what type of call causes a huge spike, let me know this info, and maybe I can solve the problem from there. A generic solution for you right now can confuse you further as I don't know how well-versed are you with Unity's optimization methods.

Show more comments

0 Replies

· Add your reply
  • Sort: 

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

17 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

Related Questions

Enemy death help 1 Answer

Simplest movement to point possible 2 Answers

How to rotate instantated prefab without rotating it's local directions by javascript? 1 Answer

Rotation/position question. 1 Answer

Programming an enemy to shoot upwards 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