PLUGIN: Character3D v0.93 (08 May 2006)

Started by Besh, Sat 05/11/2005 18:13:10

Previous topic - Next topic

Besh

Character3D is a plugin that allow you to have three-dimensional character in your game, with animations and real-time light. Now you can also rendering character to look like cartoons with the CelShading and Outline effects.



Current version: 0.93 (08 May 2006)

Requires AGS v2.71

The rar files include the plugin (with documentation) and demos:




for old versions please visit: http://www.webalice.it/besh81

from 0.92 to 0.93 (08 May 2006)

  • Added Delete function.
  • Fixed some bugs.


Please reports any bugs, suggestions or comments  ;)


----------- EDIT ------------
Currently I'm waiting for some new functions from CJ to resolve character direction and speed problems.
Meanwhile I started my first AGS game (naturally with C3D), I'm drawing/modeling backgrounds and characters.
If you have requests or suggestions to improve the plugin or to add new effects, this is the right moment.

Good work!
"Spread our codes to the stars,
You can rescue us all"
- Muse

Ubel

WOW! :o

Just amazing stuff! This might just be something that SteveMcCrea could use in AGS 3D project :)

Kweepa

#2
This is awesome! Great work!
Still waiting for Purity of the Surf II

Janik

#3
I had to copy alleg40.dll to the \Compiled\ folder to get it to run.

Impressive, very impressive!

One question though: I activated the frames per second display, and SetGameSpeed(999) to see how fast it could go - but the frame rate I got was consistently 64 fps, no matter what color depth or how zoomed in I was on the character. Is this somehow coded in the plugin to run at 64 fps max?

Just a note, you may be aware of this, but the wintermute engine has some 3d character capability (see their demo at http://www.dead-code.org/). Just thought you might be interested in seeing how they did it, handling walkable areas and such.
Play pen and paper D&D? Then try DM Genie - software for Dungeons and Dragons!

Pumaman

#4
Very impressive, good work  :D

Rui 'Trovatore' Pires

#5
Amazing work! Thank you very much!

QuoteThis might just be something that SteveMcCrea could use in AGS 3D project

Well, obviously I don't really know what I'm talking about, as it's more Steve's domain, but methinks it won't be something trivial to implement, as this one appears to rely on an external "character" for all images and the AGS3d plugin uses actual sprites - seems to be totally different methods. Scaling characters, for instance - this plugin uses the built-in scaling levels, and AGS3d does some calculations I know nothing about to draw the sprite X in the place Y with size Z. I think.

Not that I wouldn't love to see them combined, I'm just not holding my breath.

EDIT - After taking a closer look, I have a couple of questions. They're also questions that, as a user, I'd like to see answered on the manual. :)

1 - I'd like to play the animations a bit slower, so as not to appear as jerky. How would I go about doing that? I assumed I could change that by changing the "animation speed" value of the character, but no dice. If there is no possible way to do it, then this stands as a suggestion/request.

2 - I'm under the impression that we can only animate the character with those 4 views - walk, talk, think, idle. How can I play any other animation?

3 - I assume footstep sounds aren't played. Is it possible to add?

4 - Those "bmp" files ("verde, nero," etc) - are they necessary? Should we distribute them as well?

5 - For linking a Character3d with an AGS Character we have to use, say, "Roger.ID". You could make it so we could just put "Roger", no? Asking for a "Character" instead of an "int"?

Mind you, I'm not complaining about anything. But I'd sure like to see this thing get better. :D
Reach for the moon. Even if you miss, you'll land among the stars.

Kneel. Now.

Never throw chicken at a Leprechaun.

Besh

#6
I have added a new file that contains a 2.71 compatible version.

Janik: the fact that fps is limited to 64 is very strange because in the plugin I don't limit it. Thanks for the signalling of WME.

Rui "Brisby" Pires: actually the speed of the animations is fixed, the only ones view supported are WALK,TALK,THINK and IDLE, the "bmp" files are the textures of 3d model "tentv.emd" and therefore they are necessary. Thanks for all your suggestions.

All the suggestions will be added in the next versions (if it's possible for my means)
"Spread our codes to the stars,
You can rescue us all"
- Muse

Rui 'Trovatore' Pires

#7
Whee!

Er, just a small thing... I don't suppose you could consider doing tutorials for Escultor? The author himself seems to have never gotten around to it, and if people are to use the plugin they'll need to know how to use the program... I mean, it's not that hard to use, but some things are less than intuitive.
Reach for the moon. Even if you miss, you'll land among the stars.

Kneel. Now.

Never throw chicken at a Leprechaun.

mätzyboy

Now, with the interpolation, this is starting to look really good!

Great work man!

Besh

in the new demo (town-demo) three obvious problems are noticed:

1) in order to maintain the just position of the character in the 3D world, I have used the pic_yoff property, with all the problems that involve
why so many problems with this property??

2) the speed of the character does not diminish with the distance

3) the character turns itself in strange positions for the distance to carry out

"Spread our codes to the stars,
You can rescue us all"
- Muse

Rui 'Trovatore' Pires

1 - I suggest allowing us to check the character's orientation. Maybe a function like "get orientation", so we could - hypothetically - do stuff like

while (etc!=10) {
   SetCharacterOrientation(GetCharacterOrientationX, GetCharacterOrientationY+2,GetCHaracterOrientationZ);
   etc++;
}

Just a rought example. Anyway, it's always good to be able to "get" the values of whatever we "set". Sure, we can do it with our own variables, so it's no biggie. Just a suggestion.

2 - It's hard to set up the camera properly. Could you give us examples in the documentation? Toying around with it I found it really hard to set it as I wanted. You could, say, tell us which parameters would be really small and which would be really large and which make the screen "deeper" and so on.
Reach for the moon. Even if you miss, you'll land among the stars.

Kneel. Now.

Never throw chicken at a Leprechaun.

Besh

yes, It's very hard to set up the camera properly!!

Actually the plugin camera is the simpliest (no FOV, aspect ratio, ect)

for the town demo I have used this simple tool.
"Spread our codes to the stars,
You can rescue us all"
- Muse

Besh

#12
I have rewritten the whole plugin interface, so now you can write:

Code: ags

if (game.debug_mode==1 && (keycode==65 || keycode==68 || keycode==83 || keycode==87)) {
    if (keycode==65) plugin.CameraRotation -= 1.0;
    else if (keycode==68) plugin.CameraRotation += 1.0;
    else if (keycode==83) plugin.CameraHeight -= 1.0;
    else if (keycode==87) plugin.CameraHeight += 1.0;
  }


whatever you set, whatever you get

Thanks very much to Rui "Shodan" Pires for all the suggestions
I hope that now, all works better  ;)
"Spread our codes to the stars,
You can rescue us all"
- Muse

monkey0506

This is pretty amazing stuff.  I haven't ever attempted any 3D, but this makes me want to! :D

Mozesh

Wow simply amazing, this was exactly what I was hoping for to happen.
I have milkshape so I tried to some stuff, but since I'm an absolute idiot in scripting in 2.71 it's way over my head.
So I'll need to make a change in that :=
Anyway this is exactly what I was looking for and I might, might? probably, will use this in my upcoming game, when I finally get some 2.71 experience that is.

Kweepa

I just downloaded the town demo - wow, looks great!
(I don't have anything else to contribute - just thought I'd offer a word of encouragement.)
Still waiting for Purity of the Surf II

Dr Lecter

It would be nice to have some 3D Max compatible files in there...

Mozesh

@ Lecter
Milkshape can import max files, and then save them in ms3d format.

I've been playing around and it's pretty amazing, one thing though.
Lightning, I think that would be needed if someone wants to make a game.
Unless it's their style or whatever.
I'm really interested in this and I think I might just use it for my game, well I still need to develope the story/plot a lot more, so I hope when the time comes when I'm totally ready to start, that the plugin has grown and has been perfected a bit more.

Cheers,
Ralph

Dr Lecter

#18
Hmmm it won't show the texture ingame in of the model I'm using

Edit:

And while trying to fix it I got this:

Quote
---------------------------
Illegal exception
---------------------------
An exception 0xC0000005 occured in ACWIN.EXE at EIP = 0x01F3DD5A ; program pointer is +31, ACI version 2.72.898, gtags (0,10)

I just changed the ms3d model of salvador on town demo thingy. I didn't change any script at all.

Mozesh

I got the same thing at first, the model was totally black.
But that isn't the plugin's fault, when I opened the ms3d model the textures weren't there.
This is a thing that happens sometimes in milkshape, so you need to re-select the textures in milkshape and save again.
And you must have the textures in the data folder!

Besh

Sorry, but I was out for some daysÃ,  ;D

The width and height of the texture bitmap must be powers of two, but can be different, eg. a 64x16 texture is fine, but a 17x3 one is not.


Now I'm working on a Direct3D version of the plugin (with all the features of DirectX) bur there are some problems.
If someone is interested, every aid is well acceptedÃ,  ;)
"Spread our codes to the stars,
You can rescue us all"
- Muse

Besh

...and light was... 8)

In this version (0.88) I have added a simple light system with ambient and global lights.

What still lacks in order to render the plugin usable?
"Spread our codes to the stars,
You can rescue us all"
- Muse

Rui 'Trovatore' Pires

Wow. You sure are a dedicated fellow. :)
Reach for the moon. Even if you miss, you'll land among the stars.

Kneel. Now.

Never throw chicken at a Leprechaun.

kadok

I've check the c3d_town demo on my machine

cel433
192ram
rivatnt2 16mb

and it's working quite fast.

however, some fps counter could be added.
sorry for may english... it's not my native language so I may make some mistake's

Besh

#24
I have made small changes to the 3D engine and also added colored light.

The TownDemo includes a new room that shows the use of colored light.
"Spread our codes to the stars,
You can rescue us all"
- Muse

Besh

After the storm I go back to working on C3D:

in this new release I've modified the models and animations loading system. See the manual for more info.


Thanks to Mozesh for his suggestions.


My excuses to anyone that is developing a game using Character3D (actually I know about only one) for my several change but this is the only way to improve this work.

"Spread our codes to the stars,
You can rescue us all"
- Muse

Reodor

First of all: This Plugin is great! It makes it possible to make games similar to TLJ and Grim Fandango, but how do I get the inventory system to work when i use this Plugin?
Somebody set us up the bomb!

Besh

#27
In the same way in which you don't use the plugin because this plugin doesn't modify any inventory functions or properties, it works only on character (at this time).
"Spread our codes to the stars,
You can rescue us all"
- Muse

Besh

#28
In v0.92:

I have removed Init function, now the plugin sets all the parameters automatically, so now you can change resolution from winsetup.exe.

I have also added two nice effects, CelShading and Outline that give a cartoon style. Please read the manual for more info.
"Spread our codes to the stars,
You can rescue us all"
- Muse

monkey0506

#29
Hmm...Cel Shading seems nice.  I like the smooth shading style it gives.  Unfortunately, I still seem to be experiencing a crash when I hold 'A' repeatedly:

QuoteIllegal exception
---------------------------
An exception 0xC0000005 occured in ACWIN.EXE at EIP = 0x7C911EC3 ; program pointer is +9016, ACI version 2.71.894, gtags (1,0)

Quotec3d_town.exe
---------------------------

c3d_town.exe has encountered a problem and needs to close.  We are sorry for the inconvenience.

If you were in the middle of something, the information you were working on might be lost.

Please tell Microsoft about this problem.
We have created an error report that you can send to us.  We will treat this report as confidential and anonymous.

I know that the second error message is Microsoft, not AGS or the plugin, I just thought I'd note that I got an error from them too.

I loaded the C3D Town Demo, ran the compiled executable, and held A for a few seconds to make it crash.  The relevant code in the script is this line:

Code: ags
if (keycode == 65) plugin.CameraRotation -= 1.0;


The game crashes shortly after Tentacle disappears and Salvador is about to.

Besh

#30
The mentioned problem isn't due to plugin code, but it's a geometrical problem. It's very difficult for me (specially for my English) to show the reason of that (if you want I can try but...).
The A,W,S and D keys are used for setting the camera parameters, this is an old Rui's request (whatever you get, whatever you set), and not for other purpose.
However, now I'll try to prevent that nasty geometrical situation.

Thank you very much.
"Spread our codes to the stars,
You can rescue us all"
- Muse

Besh

Currently I'm waiting for some new functions from CJ to resolve character direction and speed problems.
Meanwhile I started my first AGS game (naturally with C3D), I'm drawing/modeling backgrounds and characters.
If you have requests or suggestions to improve the plugin or to add new effects, this is the right moment.

Good work!
"Spread our codes to the stars,
You can rescue us all"
- Muse

kadok

#32
I have an old pc with cpu under 500mhz, 128 MB ram and a crappy old 3d card.

I've checked the demos, and they work quite fast.

So how fast will a full length game made with the Character3D plugin with nice graphics and other effects run on a pc like mine?
sorry for may english... it's not my native language so I may make some mistake's

Besh

The problem isn't the length of the game but the number of character3D in a room. If there's only 1 character3D the pluging "works" only 1 time per frame but if there are 7 character3D the plugin "works" 7 times per frame.

Another problem is the number of character3d in the entire game, because, currently, once a model is loaded it remains in system's memory until the end of the game.

In the next version I'll insert a new function for delete unused model from the system's memory.

CIAO
"Spread our codes to the stars,
You can rescue us all"
- Muse

Reodor

#34
When i try to test the game with this plugin, all i get is this message:

Quote
Illegal exception
---------------------------
An exception 0xC0000005 occured in ACWIN.EXE at EIP = 0x10001F91 ; program pointer is +31, ACI version 2.71.894, gtags (2036,32)

What is wrong?
Somebody set us up the bomb!

Besh

"Spread our codes to the stars,
You can rescue us all"
- Muse

Ali

This is really exciting. Brilliant, Besh.

Though, since you asked what the plugin was lacking I though I'd ask if you planned to expand the types of mesh Character3D can use. I did look at escultor but found it's .obj import didn't work.

Compatability with blender would be great (but probably to much to ask for). It would be particulary good because it's possible to bake the textures/lighting of a highy poly chracter onto a low-poly mesh. Which could look pretty flash.

Is it worth me just *cheapskate shudder* buying Milkshape or are you planning on expanding the plugin's compatability with other3Dapps?

Is the issue that most object formats don't have accompanying animation files, while escultor and milkshape files do?

I don't mean to look a realtime 3D gift-horse in the mouth. This is great as it is!

Besh

Yes, the main reason for which I have chosen Escultor and MS3D is their animations support and simplicity. Another good program that probably I'll include is Anim8or (free).

The problem with Blender and other great tools (3ds, 3dmax, ...) is my 3d engine based on Allegro. With Alleggro 3D routines the capability are limited to the basic concept of 3d: draw an object with texture, apply light, STOP!
However I can include Blender (or other) models, if you are really interested let me know so I start to study the Blender file format.
"Spread our codes to the stars,
You can rescue us all"
- Muse

Ali

Thanks for the response Besh,

Support for Anim8or would be a great plus, because it can import a variety of files. If the plugin supported Anim8or then it would be possible to create meshes in Blender or Max and then create in-game animations for them in Anim8or.

Good luck with this project, I really hope it goes well.

Besh

New version avaible!! Some critical bugs fixed.
CIAO
"Spread our codes to the stars,
You can rescue us all"
- Muse

Dennis Ploeger

Hi!

Support for Blender would be great! I can model with blender a lot better than with the other two tools. Fact is, I've already got a model in Blender, which I'd like to include. ;-)

As Blender has a lot of export-options, the other possibility would be to implement another file format, that can be exported from Blender. I haven't found an exporter to milkshape for Blender, but tried to do an export/import thing over various formats, but all have failed.

Kind regards,
Dennis
deep

Besh

I've started to write the code for importing Blender and Anim8ot models, but actually I'm very very very busy with my thesis work! Moreover I'm working on my first game.
I don't know when the Blender/anim8ot support will be ready, but don't worry surely will be readyÃ,  ;D
"Spread our codes to the stars,
You can rescue us all"
- Muse

Ali

I'm glad to hear you're working on Blender/Anim8or support, I don't mind waiting. Since your previous post asked for any requests for the plugin I thought I'd mention a smallish-one. While it's currently possible to set the camera's tilt on the Z axis, would it be possible to set its roll on the Z axis (or whatever axis is depth)?

Good luck with your thesis!

td

Character 3D look great, but i have a problem with Walk speed. SetCharacterSpeed function is dosn't work. If i diminish "SetGameSpeed" or change "AnimationSpeed" parameter, character will move interrupt. How should i slow down walking speed???

Besh

#44
The SetCharacterSpeed function is an AGS function, the C3D plugin read the character position, speed, ecc. from the AGS system.
In the AGS manual there's a note:

NOTE: This function CANNOT be called while the character is moving, so you must stop him first.

I think you don't diminish "SetGameSpeed" or change "AnimationSpeed" parameter since they aren't relate to the character speed.

Feel free to ask meÃ, again if you still have other questions.
"Spread our codes to the stars,
You can rescue us all"
- Muse

Dreadus

I ket "parse error at const" every time i try to save a game with this plugin... did i miss something?

monkey0506

Try using AGS 2.71 or higher, as noted by the first post which states "Requires AGS v2.71".

Dreadus

this seems to have worked. Might i ask, has anyone tried animations of ~20frames in ms3d format? it seemed to crash mine.

Besh

#48
I tried animation up to 75 frames and everything is OK!!!
Are you sure that in the ms3d file there're enough frames???
"Spread our codes to the stars,
You can rescue us all"
- Muse

Dreadus

#49
I have been playing around with this for a couple of days now and i really love it, the celshading is really fun to mess with. Some things i wanna ask though...
1.Add a ScaleMoveSpeed property to 3d characters :)
2.I think it'd be really cool if you made it so when a character turns to change direction or face something, it makes a smooth turn, even if there are still only 8 directions.

RowdyAdventurer

can this plugin support quake files eventually?

Mozesh

Milkshape allows you to import quake 2 and 3 models. (md2 and md3 files) And this plugin can use milkshape files (ms3d) So yes, you can use quake 2 and 3 model types. Not too sure about quake 1 files though.

RowdyAdventurer

I dont like the way it converts and saves them though

Besh

Quote from: RowdyAdventurer on Thu 16/11/2006 17:32:18
can this plugin support quake files eventually?

Yes ... I think.
Actually I'm very busy with my thesis, as soon as I can (probably next Jan or Feb) I'll restart again to work on the Character3D project. I have some cool ideas.
"Spread our codes to the stars,
You can rescue us all"
- Muse

Ali

#54
You're clearly very busy Besh, but I thought I'd make another request all the same...

The 3D characters don't turn before walking, or turn before facing a location. A simple solution I found was to have the character face an invisible object in repeatedly_execute, and to reposition the object to the mouse's position on a click.

EDIT: I was wrong, the character does turn before walking! What I say next is still relevant though...

What still looks a little odd is the way the 3D characters have only 8 directions. I guess that this is a consequence of there being 8 directional views in AGS, however it makes turning look distinctly jerky in comparison with other animations. One person had asked if the number of directions could be increased to 16 (before your plugin existed) but no-one thought it would be much use:

http://www.adventuregamestudio.co.uk/yabb/index.php?topic=22322.0

I'm wondering if there could be a solution that didn't need more directions in AGS. Might it be possible to smoothly rotate the 3D characters on their Y(/Z/up) axis using a separate function? Then we could make the AGS character face east, and smoothly rotate the character3D character until he faced east too.

Rui 'Trovatore' Pires

Right-o, and the turning speed's reference would be the character's animation speed.
Reach for the moon. Even if you miss, you'll land among the stars.

Kneel. Now.

Never throw chicken at a Leprechaun.

Mozesh

I didn't have problems with turning to face directions or turning before walking, at least I think I didn't. I vaguely remember some problems with it but I figured something out. But I can't remember, so sorry 'bout that :-\

Ali

Quote from: Mozesh on Sun 17/12/2006 21:17:43
I didn't have problems with turning to face directions or turning before walking, at least I think I didn't. I vaguely remember some problems with it but I figured something out. But I can't remember, so sorry 'bout that :-\

I beg your pardon, the character does turn before walking, but not smoothly. I'll modify my earlier post.

Actually, a bit of experimentation has sort of got me round this problem. I can make the character rotate smoothly to face any location I choose, but my grasp of trigonometery and floating point mathematics is far too weak to make the tentacle turn in the most economical direction (so he often turns 200 degrees rather than 160).

I do think it would be handy if this feature was built-in to the plugin. Of course, that's at the discretion of Mr Besh!


Besh

OK! This is a good suggestion. I'll try to implement it in the next version.
If Mr Ali wants, he can send me the codeÃ,  he wrote to show me his idea.
"Spread our codes to the stars,
You can rescue us all"
- Muse

Ali

#59
Since my last post, I think I've worked out how to make the character rotate in the quickest direction. Once I've scripted it I'll post the code at the first opportunity I get.

Good day to you, sir!

EDIT:

This is what I have. It's nothing special and it's probably not very efficient. All it does is make the tentacle rotate smoothly towards the mouse when I right-click:

Code: ags

//In repeatedly_execute_always:

		if (cTentacle3D.OrientationY>360.0) cTentacle3D.OrientationY=0.0;// Limit the character's orientation to above 0 degrees.
		if (cTentacle3D.OrientationY<0.0) cTentacle3D.OrientationY=360.0;// Limit the character's orientation to below 360 degrees.

// in on_mouse_click, after the left-click part.

Ã,  else {// right-click, so cycle cursor
		
		SideX=IntToFloat(mouse.x-cTentacle.x);// make a right angled triangle between the mouse and the character
			
		SideY=IntToFloat(mouse.y-cTentacle.y);

		SideY=SideY*1.7; // Stretch the triange to account for the angle of the camera (Not sure about this, but it seems to look right)
		
		RotAngle= Maths.ArcTan2 (SideX, SideY);// find out the goal angle of the triangle
		
		goalAngle = Maths.RadiansToDegrees(RotAngle)+360.0; // Make sure the goal angle isn't below 0

		if (goalAngle>360.0)goalAngle=goalAngle-360.0; // Make sure the goal angle isn't above 360 
		
		startAngle=cTentacle3D.OrientationY; 
		
			if (startAngle<goalAngle){ //find out which is the quickest way to rotate
			
			AngleA = goalAngle-startAngle;
			AngleB = (360.0 + startAngle) - goalAngle;
			
			if (AngleA>AngleB) {//Rotate Clockwise
				while (!(cTentacle3D.OrientationY>goalAngle-1.0 && cTentacle3D.OrientationY<goalAngle+1.0)){
					cTentacle3D.OrientationY=cTentacle3D.OrientationY-2.0;
					Wait(1);
				}
			}
			
			else {//Rotate Anti Clockwise
				while (!(cTentacle3D.OrientationY>goalAngle-1.0 && cTentacle3D.OrientationY<goalAngle+1.0)){
					cTentacle3D.OrientationY=cTentacle3D.OrientationY+2.0;
					Wait(1);
				}
			}
			
		}
		
			else{
				
			AngleA = startAngle-goalAngle;
			
			AngleB = (360.0 + goalAngle) - startAngle;
			
			if (AngleA>AngleB) {//Rotate Clockwise
				while (!(cTentacle3D.OrientationY>goalAngle-1.0 && cTentacle3D.OrientationY<goalAngle+1.0)){
					cTentacle3D.OrientationY=cTentacle3D.OrientationY+2.0;
					Wait(1);
				}
			}
			
			else {//Rotate Anti Clockwise
				while (!(cTentacle3D.OrientationY>goalAngle-1.0 && cTentacle3D.OrientationY<goalAngle+1.0)){
					cTentacle3D.OrientationY=cTentacle3D.OrientationY-2.0;
					Wait(1);
				}
			}
				
				
		}
		
		ProcessClick(mouse.x, mouse.y, eModeLookat);
				
	}


I hope that's at least a little bit useful. I'm just irritated that my maths teacher was right, I did use trigonometry after leaving school.

td

#60
The plugin still not support  3D characters-shadow? I think this must be main feature...?

Ali

#61
Quote from: td on Tue 09/01/2007 09:26:10
The plugin still not support 3D characters-shadow? I think this must be main feature...?

There's a possible workaround you could try. I was messing around with my graphics card trying to get anti-aliasing on Grim Fandango. It didn't work, but it revealed that the shadows in that game seemed to be duplicated versions of the mesh scaled 0 on the vertical axis and distorted to create the illusion of shadows. With a bit of experimentation you might achieve something similar.

Sadistyk

I have a question: this plugin uses a perspective projection or an orthographic projection?

Besh

The plugin uses perspective projection. The camera model is the pin-hole and the view-volume is an infinity pyramid.
"Spread our codes to the stars,
You can rescue us all"
- Muse

joelphilippage

Ive got a problem. whenever I try to add a 3d character to the game. it displays "Runtime error: unexpected eof"

I used this script:
Code: ags
Character3D *cBli3D;

C3DPlugin plugin;

at the begining
Code: ags

cBli3D = Character3D.Create(cBli.ID);
	cBli3D.LoadModel("data\\Blimp.ms3d:);

in game start and
Code: ags

export cBli3D;
export plugin;

at the end.



strazer

Quote from: joelphilippage on Sat 17/02/2007 20:28:49
Code: ags
	cBli3D.LoadModel("data\\Blimp.ms3d:);

Are the closing quoation marks missing?

joelphilippage

Oh, sorry. It was just a typo. I should look over my script more carefully. But Ive got another question. It usually takes about 10 seconds to load each character and this can really start to add up at the begging of the game. Is there a way to cut down on loading time?



monkey0506

Use a game engine that's optimized for 3D games? :P

Rui 'Trovatore' Pires

And use a "Loading, please wait" screen. At least it masks some of the time, and people are used to them anyway. Plus, never fear going into WinSetup, Advanced and increasing the max amount of memory.
Reach for the moon. Even if you miss, you'll land among the stars.

Kneel. Now.

Never throw chicken at a Leprechaun.

joelphilippage

Sorry to bother again but Ive got another question. Ive been experimenting with the plugin and am trying to achive the character movement style from monkey island 4.
So far ive got this in the key press script that makes him turn and animate:
Code: ags
if (keycode == 377) { 
	cEgo3D.Animate (1);
cEgo3D.OrientationY -= 4.0;
	if (cEgo3D.OrientationY < -360.0)
	  cEgo3D.OrientationY += 360.0;
	}
	if (keycode == 375) {
	  cEgo3D.Animate (1);
	  cEgo3D.OrientationY += 4.0;
	if (cEgo3D.OrientationY > 360.0)
	  cEgo3D.OrientationY -= 360.0;
	  }

I still cant figure out how to make him walk forward by pressing the up key.
If you can help let me know



Rui 'Trovatore' Pires

Reach for the moon. Even if you miss, you'll land among the stars.

Kneel. Now.

Never throw chicken at a Leprechaun.

joelphilippage

#71
The difference between these two is that a 3d character can face many more than 8 directions and a 2d character can not. I have tried using my old code that gets the different views and it does not work with the turning code that I am using, I think this is because the 3d character has to be facing exactly the right angle, I am not sure but it seems this way because when I walk using the mouse and then press the forward button it works but when I turn using the left and right mouse buttons then press forward he does not move. Is there a way to get the angle of the character and move it forward from that angle.

Also if it is not possible to do this perhaps you should make a get character orientation y function so it would work.



Electroshokker

It's been a while now since the last update by Besh, but is this plugin still being actively developed?

Just checking... ;)

Besh

YES, I'm working on a new Direct3D version.
It is going on very slow but the progress is continous.

... just wait ... and hope  ;D
"Spread our codes to the stars,
You can rescue us all"
- Muse

monkey0506

[off-topic-rule-breaking-and-what-not]
Now I'm not a mod or anything, but you're really not supposed to pose this type of question within the threads. Considering it has been over 3 months since the last post (prior to the "is this plugin still being actively developed" post), it's reasonable to suspect that there is no recent developments, at the very least, none that are ready for public release. For future reference perhaps you can use the forum's PM feature to message these users privately with such questions? Perhaps even dropping in a line that they may want to post an update if any new versions are expected soon due to the activity down-time...Again, I'm not anybody important. Just my take on the situation. Breaking all the rules and stuff as usual.
[/rule-breaking (most of it anyway :P)]

Glad to hear that this is still being developed. This plugin has seemed to me a big step in bringing 3D elements into AGS. In fact, IIRC, the only advantage Wintermute has over AGS (please forgive my blaspheme) is the ability to use 3D characters. So in essence, this plugin puts Wintermute out of our misery once and for all! ;D Together with Steve you have really shown what one can do with AGS if they're willing to put a little effort into it. These are also excellent examples (this plugin and Steve's) of the capabilities of the plugin interface. A little hard work, blood, sweat, time, and child labor, and voilà !

I expect great things from this plugin. Excellent work Besh.

Brad Newsom

I don't know if this has been said yet, but can we use this module to make the player character 3d and keep a 2d background, similiar to Syberia?

Rui 'Trovatore' Pires

Well, that's pretty much the one and only main feature of the plugin. :P All the rest relates to how to display the character.
Reach for the moon. Even if you miss, you'll land among the stars.

Kneel. Now.

Never throw chicken at a Leprechaun.

Brad Newsom

Quote from: Rui "Trovatore" Pires on Wed 11/07/2007 23:56:02
Well, that's pretty much the one and only main feature of the plugin. :P All the rest relates to how to display the character.

Oh, from the screenshots, I thought it was just a module for creating the character and world in 3d.

Rui 'Trovatore' Pires

Nope. You do have a 3d module that makes a 3d world, though - browse this board for Steve McRea's Module and Plugin (not Wretched's Easy3D).
Reach for the moon. Even if you miss, you'll land among the stars.

Kneel. Now.

Never throw chicken at a Leprechaun.

Afflict

I thought I'd be nice and give it to him since it was open and all :)

Get Steve McRea's 3D Module and Plugin Here

derboo

Does this work with the new Version?

I've tried it today, only copying & pasting the sample code and model files for starters, but the character doesn't get displayed right. Only it's shape is visible when loading the game, but as soon as it starts, it dissapears completely... wondered if it's because of the new version, or because i made some mistake... Has something to be done that's not in the description?

.M.M.

My character is blue! Maybe it is problem with texture, but he is blue completly, but he is not completly textured.

Layabout

Hi!

Know this thread hasn't been updated in a while.

Any plans for a better model format than MS3d. Not the best model format IMO. Any shader support planned?

Thanks
I am Jean-Pierre.

ncw14

i wan to see how this works but have no idea how to implement this into Ags, someone please help

Mozesh

If memory serves I think there was a demo around somewhere.

.M.M.

Quote from: Mozesh on Wed 27/02/2008 21:50:47
If memory serves I think there was a demo around somewhere.
Yes, it's under download link of plugin!  ;)

ncw14

new to plugins were do i save the rar file for the plugin to even apear as an option

Gilbert

Don't cross posting, you had already posted here.

riseryn

I just find this cool plugin but it seems that there is no news from its author.
Thats a pity because it looks great except the fact that it use milk shape and esculptor file format.
obj file is ,imho, more "universal".

Hope to see further developpement soon and thanks for this great job.

Dualnames

It would be great if you could use blender.. or can you?
Worked on Strangeland, Primordia, Hob's Barrow, The Cat Lady, Mage's Initiation, Until I Have You, Downfall, Hunie Pop, and every game in the Wadjet Eye Games catalogue (porting)

Reminder

Hi!

I've just added the code and the views of the Ch3D plugin to my existing game. When I compile, I have the following error:

"FaceLocation is already defined" in  the file "___C3Dplugin"  (I'm not very sure about the file)

I have diferent views for each action (walk, think, idle ...)
The default view (walk) with two default images
The code is exactly from the example.
The character's name is the same from the example.
The example's "data" folder is located in "compiled" and in the root folder of the game

The Demo town runs perfectly.

Any ideas about this error?

Thanks
"With a lot of carefull"

Monsieur OUXX

#91
The demo game (c3d_town) doesn't run fine on my computer.

Everything works perfectly (sound, game, etc.) but if I don't constantly keep the focus on the game's window (for example by moving it constantly) then the display is not refreshed. The game seems not to respond, but actually it is : you can hear the sounds, etc. Just the display is not refreshed.

I don't know if it's an issue with AGS or with the plugin, or with my directX settings.

My 3d card is ATI Radeon Xpress 1150
I've got Windows XP SP3


It's actually with this computer. Most of AGS games don't work on it. But some other do. I'm not sure why. It might be games that use some special screenshot features.
 

seraphimdreamer777

Hi I've been working on a game by myself for a few years now and I'm experimenting with the 3D character module to see if I want to do my characters in 3D but I get this

GlobalScript.asc(53): Error (line 53): undefined symbol 'cmary'

from

function game_start() {

// create Character3D
cmary3D = Character3D.Create(cmary.ID);
// sets scale
cmary3D.Scale = 1.5;
// enable interpolation on animation
cmary3D.Interpolation = true;

// loads 3D model from file
cmary3D.LoadModel("..\\data\\tentv.emd");
// sets WALK animation and footsteps sound
cmary3D.LoadDefaultAnimation(eNormal, 1, 6, &quot..\\data\\tentv.esq");
cmary3D.DefaultSound(eNormal, 2, 1);
// sets IDLE animation
cmary3D.LoadDefaultAnimation(eIdle, 7, 9, "..\\data\\tentv.esq");
// sets the EXTRA view
cmary3D.ExtraView(7);
// sets an EXTRA animation
cmary3D.LoadExtraAnimation(0, 17, 24, "..\\data\\tentv.esq");
// sets another EXTRA animation whit sound
cmary3D.LoadExtraAnimation(1, 10, 13, "..\\data\\tentv.esq");
cmary3D.ExtraSound(1, 0, 5);

Victory is my destiny

Vince Twelve

Do you have a character named "cmary"?  Are you sure it isn't "cMary"?  Capitalization is important.  When you type in cmary followed by a period, do you get a pop up of all the possible methods and variables (such as ID)?  If not, then you've got the wrong name.  This doesn't look like a problem with the 3D char module.

NsMn


seraphimdreamer777

Sorry I gave up on the plugin and forgot to post. But I think it was because I needed to download Escultor of which I then downloaded but can't get textures to load on it.
Because it crashed my computer every time I tried to get textures.

If I broke any forum rules by forgetting to  post an update on this problem I'm sincerely sorry. If anyone knows why Escultor crashed my Computer I may try again if not I give up. Thank you for your help sorry I didn't post sooner on this.
Victory is my destiny

Triple Sky

i think this plugin is useless for high quality games, because there is no 1024x768 support and AGS 3,1 cannot understand him...only 2,7 version

Construed

#97
Quote from: Dualnames on Fri 21/03/2008 11:41:42
It would be great if you could use blender.. or can you?
Being that you can export blender files as almost any type i think the answer is yes to that one :D

unfortunatley the file is corrupt :(
I felt sorry for myself because I had no shoes.
Then I met the man with no feet.

Dualnames

Quote from: GrimReapYou on Wed 16/02/2011 02:36:59
Quote from: Dualnames on Fri 21/03/2008 11:41:42
It would be great if you could use blender.. or can you?
Being that you can export blender files as almost any type i think the answer is yes to that one :D

unfortunatley the file is corrupt :(

Thanks for the prompt reply. Also all the files are here:

http://www.mediafire.com/?g86mp5p4748roht
Worked on Strangeland, Primordia, Hob's Barrow, The Cat Lady, Mage's Initiation, Until I Have You, Downfall, Hunie Pop, and every game in the Wadjet Eye Games catalogue (porting)

Construed

Quote from: Dualnames on Wed 16/02/2011 06:08:51
Quote from: GrimReapYou on Wed 16/02/2011 02:36:59
Quote from: Dualnames on Fri 21/03/2008 11:41:42
It would be great if you could use blender.. or can you?
Being that you can export blender files as almost any type i think the answer is yes to that one :D

unfortunatley the file is corrupt :(

Thanks for the prompt reply. Also all the files are here:

http://www.mediafire.com/?g86mp5p4748roht


Thank you, your the best at preserving ags treasures :D
I felt sorry for myself because I had no shoes.
Then I met the man with no feet.

Akril15

I know this thread (and the plugin it's about) is a tad old, but I've been playing around with Character3D (specifically, the "town" demo) and having a hard time getting it to work in AGS 3.2.1. When I finally got as far as actually seeing the game's window pop up, it always crashes and I get an error message ending in this line:

QuoteError G3DObject::LoadModel - Unable to open file: data\tentv.emd

Even though the game runs just fine in AGS 2.71, for some reason it can't load any 3D models in AGS 3.2.1. The 3.x version of the demo is virtually identical to the 2.x version (I've also copied every relevant DLL file I could find to the main AGS 3.2.1 folder), but I still keep running into this same problem -- changing to a different model doesn't help, either. I've gone over the manual repeatedly and I can't figure out what I'm doing wrong.

Any advice?

Dualnames

Hey Akril15,

The plugin has been updated by Besh and can be found in a separate topic. Though it's a tad different.

http://www.adventuregamestudio.co.uk/yabb/index.php?topic=40123.0
Worked on Strangeland, Primordia, Hob's Barrow, The Cat Lady, Mage's Initiation, Until I Have You, Downfall, Hunie Pop, and every game in the Wadjet Eye Games catalogue (porting)

Akril15

I had a look at the CharacterD3D plugin, and it's not really what I'm looking for. The old plugin seems much easier to use, and I couldn't get the CharacterD3D demo game working in AGS 3.2.1, either.

Dualnames

I'm not sure it does, perhaps it's best to PM Besh?
Worked on Strangeland, Primordia, Hob's Barrow, The Cat Lady, Mage's Initiation, Until I Have You, Downfall, Hunie Pop, and every game in the Wadjet Eye Games catalogue (porting)

Akril15

I PMed him several days ago and haven't gotten a response so far. Thanks for the advice, though.

Monsieur OUXX

You're going into a lot of trouble trying to make such an old plugin designer for AGS 2.x work under AGS 3.x. If it were a module, why not -- but under these circumstances you won't go far without the plugin creator's support.
 

Akril15

Sorry -- this was the only plugin that seemed to fit my needs, and I couldn't even get the new version to work in AGS 3.1. I just wanted to know if anyone else had had any success getting the older plugin to work in a newer version of AGS.

SMF spam blocked by CleanTalk