Author Topic: Transitions  (Read 1988 times)

0 Members and 1 Guest are viewing this topic.

rubicu

  • Associate
  • Posts: 1
Transitions
« on: August 28, 2007, 09:22:48 PM »
Hello there,

I am a total newbie to Hyperion...

Is there a tutorial that shows how to do setup (initialize) different scenes, and switch between them over time? E.g let' s imagine I want to make a demo (for the demoscene) that has scene A and B. From time 0-60s I want to render scene A, and from time 60-120s I want to render scene B. How to switch (activate/deactivate) scenes over time?

And then a bit more advanced: How to make "Transitions" between 2 scenes? Let's imagine that we have scene A and scene B, and the following timeline:
0-60s: scene A only
60-65s: transition between scene A and scene B
65-120: scene B only

A transition could be the following:
a) a plane (filling the whole viewport) with pixelshader with 2 input textures. rendering scene A and scene B to the input textures. the pixelshader also has an input variable (float) with a range from 0-1, that affects the pixelshader code to show input texture A at a value of 0, input texture B at a value of 1 and anything fancy in between. (e.g. in simplest case it is just a crossfade)
b) an entire 3d scene that has (among others) 2 objects textured scene A and B rendered to texture, as well as a camera/object movement so that at the beginning of the movement texture A would fill the screen, and at the end, texture B fills the screen.

Basically, a) can be seen as a special subset of b).

Let me know if there are tutorials for anything like that. If there isn't, this is my first feature request! :-)

JeGX

  • Global Moderator
  • Capo Crimine
  • *****
  • Posts: 2357
    • oZone3D.Net
Re: Transitions
« Reply #1 on: August 29, 2007, 08:17:45 AM »
Yeah a question about demomaking with Hyperion. Cool  ;)

Hyperion manages one scene only. So transition between scenes isn't possible. But you can split your objects in several groups
and consider each group as a scene. So the transition between 2 groups can be done as follows in LUA:
- start hud transition with HYP_Hud.DoFadeInOut()
- disable all objects of the first group
- enable all objects of the second group
This is a simple scene transition but it works!

For a more advanced scene transition, you need a total control of the RTT (render to texture) process.
Hyperion support RTT but I never had the chance to test it seriously. Maybe this code sample could help you: http://www.ozone3d.net/repository_hyperion_cs_texturing.php#cs_89

Have you seen this very small demoscene-like prod: http://www.ozone3d.net/demos_projects/suffocate_sb01.php

And don't hesitate to post all your feature requests in this forum. All relevant ones will be added in the new Hyperion I'm working on  ;)