What are you missing in your gamedev toolchain ?

Discussions and feedback around the Open Projects such as Orange (Elephants Dream), Peach (Big Buck Bunny), Apricot (Yo Frankie!)...

Moderators: jesterKing, stiv

oin
Posts: 161
Joined: Fri Apr 02, 2004 6:34 pm

Re: My 2 cents

Postby oin » Thu Jan 03, 2008 5:14 pm

yep...that is an example of issues when trying to exhange animated characters between packages... I think there's some work on the FBX importer, but the problem is that are needed mroe hands to help with everything: I mean, seems indeed was started an FBX importer. In this case, I mean, if that one gets ended, FBX could be another route for Maya users. I just really like md5. I don't know yet how good is md5 blender importer, but reading that thread at doom3world, did seem several ppl were succesful. I only know that touching that mesh file in an ascii editor, to set the texture name, it was all cool, with the blender Exporter. And well, in other very different circumstances, I tested to work pretty well the Max Exporter, but again, not the importer.

Those are all key formats, imho: FBX, collada, b3d, md5. At least for what is character animation (b3d rocks too for lightmapped levels, and I suppose Collada for just anything) . Probably, as I see not only with this case, FBX is ideal for exchange with comercial packages (specially Max and Maya) , as well as collada, or maybe almost.
My preference for md5 and b3d is 'cause I see it at least supported in several freeware(and some of the cheap) 3d tools, and already by many engines...

darek
Posts: 11
Joined: Fri Dec 07, 2007 1:57 pm

Postby darek » Wed Jan 09, 2008 8:26 pm

- Apricot team -

Mohij
Posts: 23
Joined: Wed May 04, 2005 8:12 pm

Postby Mohij » Wed Jan 16, 2008 1:32 pm

I'd like to see GLSL support in Crystal Space.
Blender supports it, Crystal Space is OpenGL only, so GLSL sounds like a good idea.
Even a fool is thought wise if he keeps silent, and discerning if he holds his tongue. Proverbs 17,28

mataii
Posts: 38
Joined: Mon Oct 14, 2002 6:29 am
Location: México

Postby mataii » Thu Jan 17, 2008 1:34 am

I think we need real smoothing groups, or at least another tool different than edgesplit to make smoothing groups.

look at the attached blend file, the same result I've been having when I use edgesplit.. check the difference between Edgesplited object normalmap, and object without edgesplit, just set smooth option on the mesh.

It looks better without edgesplit but anyway the normalmap is not ok. but better than the edgesplit, because it seems to project each polygon of the LP into the HP model and there are no continuity between polygons, and obvious the normalmap is not correct, the edgesplit modifier is not a solution as I've seen till now... but please correct me if i'm doing something wrong. :?

Image

http://salvador.mata.com.mx/blends/nmtest.rar
Look at the different scenes (edge split, noedge split)

Felix Kütt
Posts: 8
Joined: Fri Jan 18, 2008 7:06 am

Postby Felix Kütt » Fri Jan 18, 2008 7:11 am

mataii wrote:but please correct me if i'm doing something wrong. :?

Haven't tried but maybe try creasing the edges too, besides just marking sharp?
Might be worth a try! :wink:

Mariolink
Posts: 18
Joined: Tue Aug 01, 2006 6:31 pm

Postby Mariolink » Sun Jan 20, 2008 11:41 pm

Theres nothing wrong with that. Reason is when u use edge split the normals where you dont see any geometry on the image aren't hitting anything. Same should happen to smooth groups etc.

mataii
Posts: 38
Joined: Mon Oct 14, 2002 6:29 am
Location: México

Postby mataii » Mon Jan 21, 2008 7:48 pm

Mariolink wrote:Theres nothing wrong with that. Reason is when u use edge split the normals where you dont see any geometry on the image aren't hitting anything. Same should happen to smooth groups etc.


..??

But how cannot be geometry? both images are from the same object, but different low poly models (edgesplit and no-edgesplited)... the one without edgesplit makes a "good" normal map ( check continuity in the right cube in the image below... and look at the left cube. Don't tell me that there should not have geometry information.. it has to represent geometry info, as another 3dapps do, even with smoothing groups.


http://img247.imageshack.us/my.php?image=nmkm3.jpg

kakapo
Posts: 204
Joined: Sat Sep 04, 2004 2:32 pm

Postby kakapo » Wed Jan 23, 2008 10:31 pm

Image

the rays get shot in the direction of the normals which get averaged across the surface.

so it's normal that with hard edges geometry can get missed in cases like yours.

i hope the image explains it.

mataii
Posts: 38
Joined: Mon Oct 14, 2002 6:29 am
Location: México

Postby mataii » Thu Jan 24, 2008 12:19 am

kakapo wrote:Image

the rays get shot in the direction of the normals which get averaged across the surface.

so it's normal that with hard edges geometry can get missed in cases like yours.

i hope the image explains it.


I completely understand how normalmaps work with smoothing groups....

Again look at the picture below:

http://img254.imageshack.us/my.php?imag ... dsgvh7.jpg

That is the same object I made in blender, but the smoothing groups assigned (3.. I use auto smooth) works ok, and the normal is not "missing" geometry information, just getting some artifacts.

If that object was causing that missing information in the normalmap, as you asume, then 3dmax should do it in the same way but is not this case.

kakapo
Posts: 204
Joined: Sat Sep 04, 2004 2:32 pm

Postby kakapo » Thu Jan 24, 2008 11:38 am

maybe 3dsmax always uses smooth interpolated normals for ray tracing (no matter how the smoothing groups look like) and later only takes hard edges into account for calculating tangent space. hm... i think you are right (if i imagine this correctly), probably it would make sense if blender also did it like that or if there at least were an option for it.

in blender it currently is coupled. ray tracing and tangent calculation use the same smoothing information.

mataii
Posts: 38
Joined: Mon Oct 14, 2002 6:29 am
Location: México

Postby mataii » Thu Jan 24, 2008 10:51 pm

kakapo wrote:maybe 3dsmax always uses smooth interpolated normals for ray tracing (no matter how the smoothing groups look like) and later only takes hard edges into account for calculating tangent space. hm... i think you are right (if i imagine this correctly), probably it would make sense if blender also did it like that or if there at least were an option for it.

in blender it currently is coupled. ray tracing and tangent calculation use the same smoothing information.


Ok :D

Well, that is one of the most important things i've been missing in my gamedev toolchain :x.

Thanks :D

fobsta
Posts: 141
Joined: Sat Jun 12, 2004 11:21 pm

Save Blender scenes in text format eg. ASCII or XML

Postby fobsta » Fri Jan 25, 2008 3:58 pm

The binary .blend format is great especially as you can pack all your data including textures into one file.

But it would be nice to be able to save it in a text based artist readable format. Maya artists find this useful to tweak scenes and even fix broken ones.

I worked at a games company that was interested in introducing Blender into it's pipeline but the programmers really were not happy about a binary only format.

Apollos
Posts: 17
Joined: Tue Aug 28, 2007 10:06 pm

Postby Apollos » Sat Jan 26, 2008 12:45 am

I don't know that much about the GE, but I have some experience with game dev in general. I'll list things that I would find useful. Some of this might exist already and I'm not aware of it.

Scripted event handlers: overrideable functions such as Touched or Damaged on a per-object basis.

Code: Select all

def event_touched(touchedBy):
     if isPlayer(touchedBy):
          touchedBy.health += 5
          self.destroy()

def event_damaged(damageItem, damageAmount):
     health -= damageAmount
     screen.print 'You've been hit by the', damageItem.name


Script driven game objects: the ability to define a script as a placeable object in a scene. This would allow reusable game objects to be developed and distributed between projects. For example, a "pickup" object or a weapon might make good candidates.

Code: Select all

import Blender
from Blender import Game

name = 'GoldCoinPickup'
mesh = 'GoldCoin01'
anim = 'IpoRotate'
soundVolume = 5
soundAttenuate = 'TRUE'

def Init:
     RandomizeLocation()
     
def event_touched(touchedBy):
     if isPlayer(touchedBy):
          touchedBy.cash += 25
          Game.PlaySound('Bling05')
          self.Destroy()


The properties defined in the script could draw in the UI, allowing the values to be overridden. Flags defined as properties could allow coded behavior to be changed in the UI. The Unreal engine actually takes this approach, allowing an added script class to be a placeable object in the level editor, with configurable options (those to be modified by the level designer) showing up right in the UI.

Code: Select all

import Blender
from Blender import Game

name = 'MiscGamePickup'
doDamage = 'TRUE'
damageAmount = 5

def event_touched(touchedBy):
     if isPlayer(touchedBy):
          touchedBy.cash += 25
          Game.PlaySound('Bling05')
          if doDamage: touchedBy.health =- damageAmount
          self.Destroy()

---------------------

import Blender
from Blender import Game

name = 'PropaneTank'
mesh = 'PropaneTank02'

ExplodeOnDamage = 'TRUE'

def event_damaged(damageItem, damageAmount):
     if ExplodeOnDamage:
          Game.Spawn('ParticleExplosion')
          Game.PlaySound('Explosion04')
          self.Destroy()


Personally I would like to see this type of functionality and flexibility in any GE, but take it for what it's worth. =D

EDIT: Reading the title again more carefully, I realized this was more of a tool chain and pipeline thread than a GE functionality thing. :?

kakapo
Posts: 204
Joined: Sat Sep 04, 2004 2:32 pm

Postby kakapo » Sat Jan 26, 2008 1:50 pm

baking got mentioned a few times already in this thread but now that we have seen what brecht works on for the renderer... :)

- baking approximate ambient occlusion
- baking the single bounce indirect illumination which is based on the same method

Lamoot
Posts: 2
Joined: Thu Jun 01, 2006 7:51 pm

Postby Lamoot » Sat Jan 26, 2008 3:47 pm

Recently I saw LetterRip's post at indie gamedev forums and I have a proposal for a feature that could appeal to indie game developers (me included :)), especially seeing how many of indie games are still made with 2d graphics. My proposal is basically to get Blender to merge separate frames of a 2d sprite into a single image, rather than rendering and saving a sequence of individual frames.

From my recent experience this is a real bottleneck in the workflow, especially with sprites that have a large number of frames. I've searched for a tool that would do this for me automatically, but the ones I've found were either under a commercial licence or they didn't do their job well enough. And in any case it would be very nice to be able to do as many things in Blender as possible, before having to use other programs.

http://img145.imageshack.us/my.php?imag ... salyq1.png
edit: there should be 1x9 instead of 1x7 on the image.

Regarding the UI itself, you would probably only need a button to enable this function and two small input fields to specify how should the frames be stitched together.


Return to “Blender Open Projects”

Who is online

Users browsing this forum: No registered users and 0 guests