code/olga-naz/test-butterfly - #97
Conversation
MSnihurska
left a comment
There was a problem hiding this comment.
Очень классная бабочка у вас получилась! Исправьте пару ошибок в написании, перенесите, что возможно, в константы и будет вообще супер.
Советую обратить внимание на базовые классы EnemyData и EnemyModel, а также EnemyController, который заменяет уникальные контроллеры сущностей. В вашей ветке их еще не было, так что вам не обязательно переносить свои скрипты. Достаточно просто понимания.
| static class VectorExtension | ||
| { | ||
| /// <summary>Convert Vector3 into Vector2 for XZ-plane</summary> | ||
| public static Vector2 ToVectorXZ(this Vector3 vector3) => new Vector2(vector3.x, vector3.z); | ||
|
|
||
| /// <summary>Rotates the vector2 90 degrees</summary> | ||
| public static Vector2 TurnToRight(this Vector2 vector2) => new Vector2(vector2.y, -vector2.x); | ||
|
|
||
| /// <summary>Returns the direction vector2 to the specified point</summary> | ||
| public static Vector2 DirectionTo(this Vector2 vector2, Vector2 target) => vector2 - target; | ||
|
|
||
| /// <summary>Returns the direction vector3 to the specified point</summary> | ||
| public static Vector3 DirectionTo(this Vector3 vector3, Vector3 target) => vector3 - target; | ||
| } No newline at end of file |
There was a problem hiding this comment.
Убрать класс, функции вынести в отдельный регион внутри Methods
There was a problem hiding this comment.
Это методы расширения, которые могут находится только в статическом классе, поэтому просто перенести их не получится( Я могу переписать их как обычные методы, чтобы разместить в регионе внутри Methods, но тогда придется немного переписать и те места, где я их использовала. В общем, я так поняла, что лучше все делать через обычные методы?))
|
Отлично! Задание считаю выполненым, карточку в трелло перенесла. |
|
Поняла, спасибо! =) |
Тестовое задание: сделать свой вариант системы бабочки.
Видела ветку
example/rabbit-ai, но начала делать бабочку чуть раньше в веткеexample/sphere, и не стала переносить.Использовала сцену
ITickTest. Префаб "Butterfly" дляButterflyDataрасположен в папке Resources.Бабочка летает, кружит, иногда садится на плато (может улететь за пределы, т.к. зона полета не ограничена). Поведение далеко не идеальное, но за недельный срок это пока максимум, что я смогла выжать - пришлось столько копаться в векторной математике, что я просто представить не могла :)) Но было интересно, хотя и не сказать что легко.
Из мыслей по поводу того, что еще я могла бы сделать для улучшения поведения - наверное, сделала бы спавн рандомных точек (к которым летит бабочка) менее рандомным, зависящим от направления движения бабочки, что бы она летала более плавно, без крутых поворотов назад.
Замечания приветствую - всегда рада узнать, как можно было бы сделать что-то по-другому легче и проще, а как делать вообще не надо))