Dynamic Books

Framework to allow custom-made books to automatically reflect text onto their pages. In addition, it allows the use of the same book model to contain different text.

  • サポートされたプラットフォーム
  • サポートされたエンジンバージョン
    5.3
  • ダウンロードのタイプ
    完全なプロジェクト
    この製品には、Unreal Engine プロジェクトの完全なフォルダが含まれており、Config ファイル、コンテンツのファイル、.uproject ファイルが完備されています。新規プロジェクトを作成するためのテンプレートとして利用することができます。

This framework allows users to incorporate customizable books into their game world without constraints on the length of the text used. When a player interacts with the book actor, a second and identical book spawns and approaches the player’s camera. Once in front of the player’s camera, it opens, revealing the text printed onto the book pages.

This system works mainly through two different blueprints (BPs):

  1. Static Mesh BP (BP_Book_Template_Static): It represents the actor placed in the world by the game creator. It is composed by a single static mesh that includes the book binding and pages.
  2. Skeletal Mesh BP (BP_Book_Template_Dynamic): It represents the book that spawns when the player interacts with the book actor. It is composed by 5 skeletal meshes: i) book binding; ii) book’s base pages; and iii) 3 pages that will have the text printed onto them.

The 3 pages will cycle and change position in order to simulate the existence of several additional pages in the book. This enables each book to support very lengthy texts. Obviously, the use of very lengthy texts will cause hiccups on the system when the book is initially interacted with (e.g., I tried this with about the first 100 thousand characters from the Holy Bible). Once it is loaded, you can go to the next and previous page at will, and no further hiccups should occur. A limitation of this methodology is that you are not able to add images, only text is parsed.

Finally, a book can be created or modified through 3D software like Blender to create unique designs that complement your game environment (simplest method is to modify the book binding, and leave the pages unchanged). The project currently includes an example notebook made of leather.


Change log:

Version 1.2

  • Corrected the Emission node in the base unlit material.
  • Added a maximum value for the parameter Emission Color Mix.
  • Changed the default alpha value of the parameter Emissive Color to 1.
  • Corrected a bug that could lead the last word of a sentence to be transferred to a new line even if there was still space available within a line.


Version 1.1

  • The materials have been corrected to make proper use of PBR textures.
  • The name of the root bones of the 3 skeletal meshes were updated to remove previously defined prefixes.
  • An unused node was identified and removed.
  • The flipping page diffuse texture will be properly used, instead of a pre-defined colour.

テクニカルノート

Features

  • Allows the use of the same book model in the world with different text.
  • Text is automatically parsed and rendered on the book's pages.
  • No limitations on the length of the text.
  • Implementation is fairly straightforward, and the process to create additional book bindings is simple (see documentation).


Asset Statistics

Animation Assets: 5

Audio Assets: 3 sounds and 3 sound cues

Blueprints: 5

Materials: 2 materials and 4 material instances

Textures: 9

Static Meshes: 1

Skeletal Meshes: 3 (+ 3 Physic Assets)

Demo Assets: 3 blueprints, 9 input-related, 1 level, 1 texture, and 1 widget blueprint


Other information

Input: In the demo, you press E to interact with the book, and to flip to the next page once a book is open. To close a book, you press TAB, and you press Q to flip to the previous page.

Network Replicated: No

Supported Development Platforms: Windows: Yes / Mac: Not tested

Documentation: Link

Showcase: Link (Video)

Important/Additional Notes:

  • It is not possible to fill in the book pages images, or any other kind of media. Only text can be used.
  • This project was developed to be integrated in Moore's RPG Template (Link)