VerseとScene Graphを活用したゲーム開発実演 | Unreal Fest Tokyo 2026

-- Views

November 05, 26

スライド概要

講演内容:VerseとScene Graphについて簡単に紹介した後、開発途中のゲームをライブで完成させます。Verseによるプログラミング、ゲームプレイへの並行処理の活用、プレハブの構築を実演し、最後に完成したゲームを実際にプレイします。

スライド中の動画一覧:
https://epicgames.box.com/s/49787z0uzd2s4lg27tiobulbnno99xqv

本講演へのアンケートにご協力をお願い致します:
https://docs.google.com/forms/d/e/1FAIpQLScI6FWrr04t65fePUmAE6s4RcAwETxXtOUQwk4M5skRkjaK-Q/viewform

講演者:
Magnus Enebakk(Epic Games)

Unreal Fest Tokyo 2026公式サイト:
https://www.unrealengine.com/events/unreal-fest-tokyo-2026

profile-image

Unreal Engineを開発・提供しているエピック ゲームズ ジャパンによる公式アカウントです。 勉強会や配信などで行った講演資料を公開しています。 公式サイトはこちら https://www.unrealengine.com/ja/

シェア

またはPlayer版

埋め込む »CMSなどでJSが使えない場合

ダウンロード

関連スライド

各ページのテキスト
1.

Building a game with Verse and Scene Graph

2.

Magnus Enebakk

3.

Quick show of hands (1/2)

4.

Quick show of hands (2/2)

5.

How today works

6.

The Village template before we start

7.

Agenda

8.

Foundations

9.

Effect specifiers: what a function may do

10.

Failure: it decides which code runs

11.

Concurrency: code that waits (1/3)

12.

Concurrency: code that waits (2/3)

13.

Concurrency: code that waits (3/3)

14.

Scene Graph: entity, component, prefab

15.

Scene Graph: entities form a tree

16.

Scene Graph: what a berry bush is made of

17.

Berry bushes

18.

Turn a bush into a prefab

19.

Turn the bush setup into a prefab

20.

Prefabs: in Verse, a prefab is a class (1/2)

21.

Prefabs: in Verse, a prefab is a class (2/2)

22.

Add components

23.

Add interactable and sound components to the prefab

24.

Write your own component

25.

Create berry_bush_component and tune it in Details

26.

Picking berries

27.

Components: a Verse class you write (1/7)

28.

@editable: values designers can change (2/7)

29.

Lifecycle: setup, behaviour, cleanup

30.

Lifecycle: quick setup (3/7)

31.

GetComponent: find the interactable (4/7)

32.

Built-in events: wait for a pick (5/7)

33.

Concurrency: regrow over time (6/7)

34.

Lifecycle: clean up (7/7)

35.

A rare golden bush

36.

Create the golden bush variant

37.

Prefab subclasses: change only what is different

38.

A component is a Verse class. Use the lifecycle methods for setup, behaviour, and cleanup.

39.

The puzzle house

40.

A puzzle with pressure plates

41.

The puzzle house

42.

Scene events: from a plate to its room

43.

Scene events: up and down the tree (1/5)

44.

Scene events: up and down the tree (2/5)

45.

Scene events: up and down the tree (3/5)

46.

Scene events: up and down the tree (4/5)

47.

Scene events: up and down the tree (5/5)

48.

EntityEnteredEvent: a player steps on a plate (1/7)

49.

Scene events: SendUp from the plate (2/7)

50.

Scene events: OnReceive in the room (3/7)

51.

Scene events: check the plate order (4/7)

52.

Scene events: SendDown a reset (5/7)

53.

Scene events: each plate handles the reset (6/7)

54.

Scene events: return true to consume (7/7)

55.

A gem pedestal

56.

The gem on the pedestal

57.

Entity hierarchy: the gem gets a new parent (1/6)

58.

Entity hierarchy: snap it into place (2/6)

59.

Scene queries: find the room to notify (3/6)

60.

Scene queries: search the tree from an entity (1/3)

61.

Scene queries: search the tree from an entity (2/3)

62.

Scene queries: search the tree from an entity (3/3)

63.

Generators: what queries return (1/3)

64.

Generators: what queries return (2/3)

65.

Generators: what queries return (3/3)

66.

Scene queries: search up the tree (4/6)

67.

Generators: take the first match (5/6)

68.

Scene queries: a direct call (6/6)

69.

Connect components with scene events and scene queries, not hard references.

70.

Mobs in the tall grass

71.

Detect players in the grass

72.

The tall grass in the editor

73.

Mobs in the grass

74.

EntityEnteredEvent: wait for a visitor (1/9)

75.

Failure: two checks before an encounter (2/9)

76.

Failure: is the visitor a player? (3/9)

77.

Spawning prefabs: start an encounter (4/9)

78.

Tags: mark the spawn points (5/9)

79.

Tag queries: find the spawn points (6/9)

80.

Shuffle: pick different spots (7/9)

81.

Spawning prefabs: create a mob (8/9)

82.

Spawning prefabs: place it, then add it (9/9)

83.

An elite mob

84.

The elite in the editor

85.

Prefab subclasses: spawn either class (1/3)

86.

Prefab subclasses: spawn either class (2/3)

87.

Prefab subclasses: same component, new values (3/3)

88.

Stun mobs, show their health

89.

Stun, defeat, clean up

90.

Runtime tags: tag a mob as stunned (1/3)

91.

Runtime tags: tag a mob as stunned (2/3)

92.

Runtime tags: tag a mob as stunned (3/3)

93.

cancelable: clean up what you subscribe to

94.

Use queries to find entities, prefab classes to create them, and clean up what you start.

95.

Bombs

96.

Drop bombs

97.

Bombs use the character facing

98.

SpatialMath: where is the character? (1/4)

99.

SpatialMath: in front of the character (2/4)

100.

Spawning prefabs: create a bomb (3/4)

101.

Spawning prefabs: place it, then add it (4/4)

102.

Clear the path to the cave

103.

The path to the cave is clear

104.

Concurrency: wait for the fuse (1/9)

105.

FindOverlapHits: what is in range? (2/9)

106.

FindOverlapHits: everything in the blast radius (1/2)

107.

FindOverlapHits: everything in the blast radius (2/2)

108.

FindOverlapHits: a sphere at the bomb (3/9)

109.

FindOverlapHits: each entity once (4/9)

110.

FindOverlapHits: everything except the bomb (5/9)

111.

Interfaces: cast to blastable (6/9)

112.

Interfaces: a contract (7/9)

113.

Interfaces: each type implements OnBlast (8/9)

114.

Removing entities: the bomb removes itself (9/9)

115.

Removing entities: a blasted bush keeps its stump (1/2)

116.

Removing entities: a blasted bush keeps its stump (2/2)

117.

Find what is in range, then call the interface on each component that implements it.

118.

Everything we used today

119.

Learn more

120.

Questions?