Новое:Talanto осенью: фильтры с числами, отклик по шагам и каталог компаний

+1 199новых вакансий за сутки·93 838вакансий открыто сейчас·Новое:Talanto осенью: фильтры с числами, отклик по шагам и каталог компаний

Новые вакансии в TelegramРаботодателям
Talanto
Вакансии
Компании7 273
РезюмеAIПодготовкаСтатьи
BoostТарифыBoost
Войти

Не нашли подходящее?

Пусть нужная вакансия найдёт вас сама.

  1. Подборка в TelegramНовые вакансии по вашему фильтру — сразу в бота.Подключить
  2. Мэтчи по резюмеЗагрузите резюме — покажем, где вы подходите лучше всего.Загрузить
  3. Сохранить фильтрНастройте поиск один раз и возвращайтесь к новым вакансиям.Настроить
Что нового на TalantoTalanto осенью: фильтры с числами, отклик по шагам и каталог компаний

Для работодателей

Опубликуйте вакансию — отклики придут в ваш кабинет.

  1. Вакансиябесплатно
  2. Откликиконтакты бесплатно
  3. Наймэтапы и интервью

40 компаний публикуют вакансии напрямую · 4 409 кандидатов открыты к предложениям

Разместить вакансию

Популярные направления

Все подборки
  • Python17 222
  • Облачные технологии14 171
  • QA вакансии3 456
  • Backend вакансии2 114
  • Инженер данных1 801
  • Продакт-менеджер1 247

Разработка

  • Android1 858
  • iOS1 698
  • Fullstack вакансии997
  • AI вакансии955
  • Frontend вакансии755
  • Mobile вакансии44

По стеку

  • Go8 752
  • Java6 593
  • Node.js2 036
  • .NET1 739
  • Kotlin1 618
  • Rust1 472
  • C#717
  • PHP690
  • C++579

DevOps и инфраструктура

  • Kubernetes7 787
  • DevOps вакансии6 095
  • Linux-инфраструктура5 508
  • Terraform / IaC4 287
  • CI/CD3 272
  • Мониторинг и Observability1 792
  • SRE566
  • Кибербезопасность454

Аналитика и данные

  • Data Scientist1 138
  • Бизнес-аналитик921
  • Аналитик данных858
  • Системный аналитик154

Другие направления

  • Проджект-менеджер624
  • UI/UX дизайн149
  • Ручное тестирование14

По регионам

  • Вакансии в США44 166
  • Вакансии в Европе24 014
  • Вакансии в Канаде4 535
  • Работа в России3 867

По формату

  • Удалённые вакансии75 005
  • Релокация в США44 166
  • Гибридная работа12 485
  • Офисная работа7 090

По уровню

  • Senior вакансии42 643
  • Middle вакансии20 960
  • Junior вакансии6 708

Сейчас нанимают

Все компании
  • Wise190 вакансий
  • Rakuten189 вакансий
  • ASML166 вакансий
  • Grab137 вакансий
  • Celonis38 вакансий
  • Spotify37 вакансий
  • Adyen29 вакансий
  • Infobip28 вакансий
  • Monzo20 вакансий
  • Darktrace17 вакансий

Вакансии из 344 источников: карьерные страницы компаний и джоб-борды.

КомпанииО насНовостиПубличная офертаУсловия использованияПолитика конфиденциальностиПоддержка
←К теме Unreal EngineВсе вопросы
Unreal EngineJuniorТеория

Что такое Actor в Unreal Engine и чем он отличается от Component?

В закладки
Сначала попробуйте ответить сами30 секунд
Сравнить с ответом ↓

Actor — самостоятельный объект мира (размещается в уровне, имеет трансформацию). Component — модульная часть функциональности, всегда принадлежащая Actor'у и расширяющая его поведение без самостоятельного существования.

Пример

// AMyShip.h
#pragma once
#include "CoreMinimal.h"
#include "GameFramework/Actor.h"
#include "Components/StaticMeshComponent.h"
#include "Components/SphereComponent.h"
#include "MyShip.generated.h"

UCLASS()
class MYGAME_API AMyShip : public AActor
{
    GENERATED_BODY()
public:
    AMyShip();

protected:
    // RootComponent — точка отсчёта в мире
    UPROPERTY(VisibleAnywhere)
    USphereComponent* CollisionSphere;

    // Дочерний компонент, прикреплён к Sphere
    UPROPERTY(VisibleAnywhere)
    UStaticMeshComponent* ShipMesh;
};

// AMyShip.cpp
#include "MyShip.h"

AMyShip::AMyShip()
{
    PrimaryActorTick.bCanEverTick = true;

    CollisionSphere = CreateDefaultSubobject<USphereComponent>(TEXT("CollisionSphere"));
    SetRootComponent(CollisionSphere);

    ShipMesh = CreateDefaultSubobject<UStaticMeshComponent>(TEXT("ShipMesh"));
    ShipMesh->SetupAttachment(CollisionSphere);
}

В этом примере AMyShip — Actor. CollisionSphere и ShipMesh — компоненты. RootComponent задаёт мировую позицию Actor'а; ShipMesh прикреплён к нему и двигается вместе.

Actor и Component в Unreal Engine

В Unreal Engine Actor — это базовый объект, который можно размещать или порождать в уровне. Он существует в мировом пространстве, имеет трансформацию (позицию, вращение, масштаб) и может содержать произвольное количество компонентов. Примеры: ACharacter, AStaticMeshActor, ATriggerBox.

Component — это модульная часть функциональности, которая прикрепляется к Actor'у и расширяет его поведение. Компонент не может существовать самостоятельно — он всегда принадлежит Actor'у. Примеры: UStaticMeshComponent, UCapsuleComponent, UCharacterMovementComponent.

Ключевые различия

  • Размещение в мире: Actor размещается в уровне напрямую. Component — нет, он прикреплён к Actor'у.
  • Иерархия: Компоненты образуют дерево внутри Actor'а; корневой компонент (RootComponent) определяет трансформацию Actor'а в мире.
  • Репликация: Actor реплицируется как единица. Component может иметь собственный флаг репликации, но управляется через Actor.
  • Spawning: Actor порождается через UWorld::SpawnActor<T>(). Компоненты создаются через CreateDefaultSubobject<T>() в конструкторе Actor'а или через NewObject<T>() + RegisterComponent() во время выполнения.

Когда создавать Actor, а когда Component

  • Создайте Actor, если объект должен существовать независимо в мире: персонаж, предмет, триггер, камера.
  • Создайте Component, если это переиспользуемая способность или аспект поведения, который можно добавить к разным Actor'ам: здоровье, инвентарь, звук, физика.
  • Избегайте вложенных Actor'ов там, где достаточно компонентов — это упрощает репликацию и управление жизненным циклом.

Подводные камни

  • CreateDefaultSubobject вне конструктора: вызов этой функции вне конструктора Actor'а приводит к краши при загрузке. Для динамического создания компонентов используйте NewObject + RegisterComponent.
  • Забытый SetRootComponent: если не задать RootComponent, Actor не будет иметь трансформации в мире и его нельзя будет правильно разместить.
  • SetupAttachment vs AttachToComponent: SetupAttachment — для конструктора (CDO), AttachToComponent — для рантайма. Путаница приводит к непредсказуемой иерархии.
  • Удаление компонента без Unregister: вызов DestroyComponent() без UnregisterComponent() оставляет висячие ссылки и утечки.
  • Компонент с тиком без нужды: по умолчанию PrimaryComponentTick.bCanEverTick = false. Включать тик только там, где нужно — иначе перформанс деградирует.
  • Blueprint vs C++ иерархия компонентов: если компонент добавлен в Blueprint поверх C++ базы, его нельзя получить через GetComponentByClass в конструкторе C++ родителя — он ещё не создан.
  • Репликация компонентов: компонент должен быть создан на сервере и клиенте независимо (или помечен как replicated) — иначе клиент получит nullptr при обращении к нему.

Частые вопросы на собеседовании

  • В каких проектах Unreal Engine оправдан, а где он становится источником лишней сложности?
  • Что такое макросы UPROPERTY и UFUNCTION и какие параметры они поддерживают?
  • Что такое сборщик мусора (garbage collector) в Unreal Engine и как предотвратить уничтожение объектов?
  • В чём разница между GameMode, GameState, PlayerController и PlayerState?

Типичные ошибки

  • Объяснять Actor и Component только по синтаксису, без жизненного цикла и стоимости.
  • Игнорировать ошибки, null/empty состояния, порядок инициализации или режим сборки.
  • Давать пример, который работает в демо, но ломается при изменении владельца ресурса.
  • Использовать макросы или specifier-и наугад и забывать про UObject GC.

Что проверяет интервьюер

  • Кандидат формулирует точную модель для Actor и Component, а не только определение.
  • Пример компилируем, безопасен по lifetime и соответствует версии технологии.
  • Названы trade-off, ограничения и диагностируемые симптомы ошибки.
  • Понимает границу между C++ кодом, runtime/framework metadata и editor/UI слоем.

Как вы знаете этот вопрос?

Проверить себя по теме Unreal Engine →

Источники

  • https://dev.epicgames.com/documentation/en-us/unreal-engine/actors-in-unreal-engine
  • https://dev.epicgames.com/documentation/en-us/unreal-engine/basic-components-in-unreal-engine
←Предыдущий вопросВ чём разница между Blueprints и C++ в Unreal Engine? Когда выбирать каждый из них?Следующий вопрос→Что такое Unreal Engine и каковы его основные области применения помимо игр?

Связанные темы

Unreal Engineasset-pipelinegameplay-architectureperformance-debugging