Please login or register.

Login with username, password and session length
Advanced search  


For WME related articles and tutorials visit WME Resource Center.

Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Messages - ErV

Pages: 1 2 [3] 4
Technical forum / What transform space is used by Actor3D->LightPosition?
« on: October 13, 2006, 01:32:55 PM »
What transform space is used by Actor3D->LightPosition? I'm not sure if it's "world" or "view". I know, it's relative to the actor, but what about rotations? Does this space use same axes/rotation as "World" transform? Or is it somehow aligned to "camera" transform?

It looks like SetProperty() function of IWmeObject\IWmeValue doesn't accept neither doubles nor floats.
I've tried to do lightPos adjustment in script (using data passed from plugin), and every time I'm calling SetProperty() with a floating-point argument, script gets zeros instead of floats, while passing ints work fine. I'm not sure if this is a bug, or if I am doing something wrong way, but the only workaround I've found so far is to create IWmeValue*, use it's SetVal function, and pass this IWmeValue* as parameter.

Technical forum / SetLightPosition doesn't work when called from plugin!
« on: October 12, 2006, 07:04:57 PM »
For some reason, SetLightPosition doesn't work when called from my plugin. It makes shadow disappear instead of changing it's direction. However, when SetLightPosition is called from script, it works fine, even with same coordinates.
Here is the code (actor is initialized earlier):

   IWmeParamSet* paramSet = game->CreateParamSet();
   actor->CallMethod("SetLightPosition", paramSet);      

What's the problem? I've even tried passing ints instead of floats, but shadow keeps disappearing. The actor holds correct reference (I've checked this several time - it has type of "actor3dx", and contains valid name). So, what is the reason of this, and how this problem can be solved?

Technical forum / Re: Enumerate all 3D actors in scene.
« on: October 12, 2006, 09:58:28 AM »
These methods only apply to "static" scene content. Since you're loading 3D actors dynamically, you'd have to keep track of them yourself, like storing them in some array when loading them etc.

Technical forum / Re: Synchronize two 3D actors.
« on: October 12, 2006, 09:56:35 AM »

Technical forum / Enumerate all 3D actors in scene.
« on: October 11, 2006, 10:05:01 PM »
How can I enumerate all 3D actors in scene? Enumerating entities is easy (Scene->GetNumLayers, Layer->NumNode, Layer->GetNode, etc...), but actors doesn't appear among those nodes during enumeration...

Technical forum / Re: Synchronize two 3D actors.
« on: October 11, 2006, 09:40:24 PM »
There's no built-in support for this.
Well... can I at least synchronize their looking directions/positions? (For example - second actor is at fixed offset from first one)?

Technical forum / Synchronize two 3D actors.
« on: October 10, 2006, 10:26:37 PM »
How can I make one actor to copy another actor's movements? Actors are different, but the animation names, frames per second and animation lengths are same.

P.S. I'm sure it has been discussed somewhere, but I was unable to find the topic.

I have fliped the actor in 3ds max for the test ... And it is not a good solution for a whole game but it could be tweeked for a couple of scene.  On a relatively dark floor the back poly are almost unnoticeable...

You said 2 time this will not work ... I think you cant see the picture attached to the post because we can see it work relatively good and it look more convincing while moving..

I hope to see a better solution in the future.
Thanks a lot! :) I really didn't see that picture - graphic is turned off in browser.

Ok ... maybe solution 4 ...  Make a second actor  who be under the floor (mirored) but have same animation than the main actor
make it folow the main actor using  SkipTo3d(actor.PosX,actor.PosY,actor.PosZ) maybe you will need to use DROP_TO_FLOOR = FALSE and triger the same animation using PlayAnim to get a good relust you will need to place the script in a quick loop maybee under 20 millisecond ...
And like you said use a différent material for it  something blured with an alpha channel to make it tranparent .

Or maybe the second one could be directly included in the main actor files...

but i dond know for the distortion ...
Well, thanks for the suggestion (although I already have thought about that), but, unfortunately, this will not work...
The main question/problemt is - how to flip actor/make mirror model? It looks like WME handles all transformation problems automatically, and the part of engine where matrix operations happens, can't be accessed from the script/plugin. It is possible to create second actor, sybchronize him with original, etc., but I see no way to flip him.
Second problem:
Using transparent texture on actor will not work. The actor will look ugly, because we well certainly see polygons on the other side of actor, also, if Z-buffering is enabled (and it is enabled by default, isn't it?), there will be additional problems in conjuction with alpha-blending.. The best solution for this is to render actor to texture (create some kind of dynamic sprite), and use this texture with any color/alpha values you wish.
Third problem: Z-buffering + alpha blending. (already mentioned).

And, thanks for those words about shadows. I've been thinking about reflections and completely forgot about all problems that the shadows will create with reflected surfaces...

The only solution, that could solve all of these problems (I think) is to create two-step render (the way ATI did it's "Nature" demo). I suppose this can't be implemented in WME right now. :(

I'm looking for a way to create dynamic character reflections on the floor. Characters are Actor3Ds.
In ideal case, character's reflections must be distorted, dynamic and blurred. :)
However, simple dynamic reflections (like mirrors) would be fine.

I've already thought about several possible solutions. It looks like none of them can be implemented in current version. Here they are:
1) Mirror actor horizontally, set his material to something like floor's specular color and render.
Problem: no "render 3D object method". In other words, it is impossible to render any object with a user-defined transformation.

2) Render scene to texture, flip the texture. Same problem as in first solution.

3) Make a blurred sprite, attach to the actor's feet.
Problem: sprites doesn't know anything about 3D position, and will not be scaled according to the distance. Anyway, there will be no distortions, a lot of problems with entites blocking\non blocking the sprite, additional artwork is required. Even if implemented, this method may produce ugly visual result on the edges of sprite (where alpha channel drops to zero) because of filtering.

4) (Improved version of solution 3). Store hidden reflection sprite in actor(somehow), store a "normal map" in the entity that is reflective, perform software rendering with distortion to clip the sprite by entity's shape and distort it using "normal map".
Problems: because camera data is not accessible, it will be difficult to scale sprites, possible workarounds include defining copies of camera data in scripts, and that will most certainly lead to serious problems, when changing scene.
Also, this method will probably bring engine to knees due to the CPU load, entities in scene will need great amount of additional artwork, and even if implemented, this method may produce ugly visual result due to the lack of filtering/other reasons.

Is there ANY way to make dynamic character reflections in current version of WME?

I need to attach an image data (sprite would work fine) to an actor/object. (WME DevKit 1.6) The data/sprite is to remain invisible, but it must be accessible/readable from plugin. This data/sprite is to be used in pixel operations (read access only).  Main goal is to attach this data to 3D actor as a property or something readable/easily accessible from plugin. I've read documentation and still didn't found something suitable. It looks like sprite object (i'm not sure about this) can be only accessed from something via GetSpriteObject(), but can't (am I wrong?) be created directly. What are possible solutions?

Or did I miss something?
You missed WME 1.7 beta.
Thanks... I was going to write plugin for changing shadow direction dynamically. Looks like I don't need to do it anymore... :(

Technical forum / How do I cast 3d character's shadow on the wall/object?
« on: October 05, 2006, 11:07:14 PM »
I need to cast a dynamic character shadow on an object/wall. It looks like WME is mainly 2D engine, and the shadow is actually a flying transparent square with the character's silhouette. Is there any way to cast shadow on the wall, or on some kind of "3D" object, or just make it look this way? Or did I miss something?

Technical forum / Access all lights's properties from the plugin.
« on: October 05, 2006, 11:01:52 PM »
Hello, everyone.
I need to access/enumerate all lights(from plugin, maybe script, plugin preferred) in current scene and process their properties (position, color, maybe range - read access only). It looks like i CAN enumerate all objects in scene, but there is no mention about "Light" object in documentation, only Enable/Disable/SetColor functions. So... how actually I can do that? The main thing I need is a light position/range(if exists) read-onlyg access. Are the lights accessible? Or do I have to create some kind of dummy and link/attach some kind of plugin object to it?

Pages: 1 2 [3] 4

Page created in 0.374 seconds with 23 queries.