-
Posts
2,953 -
Joined
-
Last visited
Content Type
Blogs
Forums
Store
Gallery
Videos
Downloads
Everything posted by Roland
-
Wow... really nice sculpting there.
-
Thanks a lot guys for your efforts to solve this mystery. Checked and had already the latest nVidia Drivers. Have tested with both the above mat files with same result. Light shines through the wall. If I ever find the reason I will tell it here. I will redo the model my self and hopefully this will solve the problem. I'll let you know. ... Must rush to work now.
-
Yes. fbx2gmf is the best converter yet and as Josh says. Its provided in the Tools section. There are other converters included also and you will get your done with those. UU3D is absolutely not needed and was just a tip. Its a great tool for things like scaling models and some other tweaks.
-
I have tested with cullface=0 and cullface=1. No difference. Well. I give up on this model. I will make my own as that seems to work. Thanks all for your input.
-
What would be the simplest way to fetch lights from an scene ?
Roland replied to shadmar's topic in Programming
Using the keyword class do work. You must have done something wrong. Here is the output from the code snippet I showed when the tunnel.sbx is loaded class=Pivot, name= class=Model, name=spot_1 class=Mesh, name= class=Spotlight, name= class=Model, name=straight_1 class=Mesh, name=U3D_MESH class=Model, name=fancage_1 class=Mesh, name=U3D_MESH class=Model, name=fanblades_2 class=Mesh, name=U3D_MESH class=Model, name=atmosphere_1 class=Mesh, name= class=Model, name=fancage_1 class=Mesh, name=U3D_MESH class=Model, name=fanblades_2 class=Mesh, name=U3D_MESH class=Model, name=straight_1 class=Mesh, name=U3D_MESH class=Model, name=t_1 class=Mesh, name=U3D_MESH class=Model, name=straight_3 class=Mesh, name=U3D_MESH class=Model, name=switch_1 class=Mesh, name= class=Model, name=t_2 class=Mesh, name=U3D_MESH class=Model, name=t_3 class=Mesh, name=U3D_MESH class=Model, name=emitter_2 class=Mesh, name= class=Model, name=doorway_1 class=Mesh, name=U3D_MESH class=Model, name=cagelight_2 class=Mesh, name=STATIC_MESH class=Mesh, name=bulb class=Mesh, name=cage class=Pointlight, name= class=Model, name=cagelight_4 class=Mesh, name=STATIC_MESH class=Mesh, name=bulb class=Mesh, name=cage class=Pointlight, name= class=Model, name=cagelight_5 class=Mesh, name=STATIC_MESH class=Mesh, name=bulb class=Mesh, name=cage class=Pointlight, name= class=Model, name=node_1 class=Mesh, name= class=Model, name=node_3 class=Mesh, name= class=Model, name=ambient_3 class=Mesh, name= class=Model, name=node_1 class=Mesh, name= class=Model, name=node_1 class=Mesh, name= class=Model, name=straight_3 class=Mesh, name=U3D_MESH class=Model, name=straight_3 class=Mesh, name=U3D_MESH class=Model, name=metal01_1 class=Mesh, name=U3D_MESH class=Model, name=metal01_1 class=Mesh, name=U3D_MESH class=Model, name=doorway_1 class=Mesh, name=U3D_MESH class=Model, name=t_10 class=Mesh, name=U3D_MESH class=Model, name=cagelight_15 class=Mesh, name=STATIC_MESH class=Mesh, name=bulb class=Mesh, name=cage class=Pointlight, name= class=Model, name=hanginglight_2 class=Mesh, name=U3D_MESH class=Spotlight, name= class=Model, name=hanginglight_2 class=Mesh, name=U3D_MESH class=Spotlight, name= class=Model, name=cagelight_14 class=Mesh, name=STATIC_MESH class=Mesh, name=bulb class=Mesh, name=cage class=Pointlight, name= class=Model, name=room01_1 class=Mesh, name=U3D_MESH class=Model, name=cagelight_21 class=Mesh, name=STATIC_MESH class=Mesh, name=bulb class=Mesh, name=cage class=Pointlight, name= class=Model, name=locker_48 class=Mesh, name=STATIC_MESH class=Mesh, name=01 class=Mesh, name=doorhinge class=Model, name=locker_48 class=Mesh, name=STATIC_MESH class=Mesh, name=01 class=Mesh, name=doorhinge class=Model, name=locker_48 class=Mesh, name=STATIC_MESH class=Mesh, name=01 class=Mesh, name=doorhinge class=Model, name=locker_48 class=Mesh, name=STATIC_MESH class=Mesh, name=01 class=Mesh, name=doorhinge class=Model, name=locker_48 class=Mesh, name=STATIC_MESH class=Mesh, name=01 class=Mesh, name=doorhinge class=Model, name=locker_48 class=Mesh, name=STATIC_MESH class=Mesh, name=01 class=Mesh, name=doorhinge class=Model, name=room02_1 class=Mesh, name=U3D_MESH class=Model, name=hanginglight_46 class=Mesh, name=U3D_MESH class=Spotlight, name= class=Model, name=hanginglight_47 class=Mesh, name=U3D_MESH class=Spotlight, name= class=Model, name=cagelight_56 class=Mesh, name=STATIC_MESH class=Mesh, name=bulb class=Mesh, name=cage class=Pointlight, name= class=Model, name=node_3 class=Mesh, name= class=Model, name=node_3 class=Mesh, name= class=Model, name=node_3 class=Mesh, name= class=Model, name=node_3 class=Mesh, name= class=Model, name=node_3 class=Mesh, name= class=Model, name=node_3 class=Mesh, name= class=Model, name=node_3 class=Mesh, name= class=Model, name=node_3 class=Mesh, name= class=Model, name=metal01_1 class=Mesh, name=U3D_MESH class=Model, name=metal01_1 class=Mesh, name=U3D_MESH class=Model, name=cagelight_29 class=Mesh, name=STATIC_MESH class=Mesh, name=bulb class=Mesh, name=cage class=Pointlight, name= class=Model, name=cagelight_38 class=Mesh, name=STATIC_MESH class=Mesh, name=bulb class=Mesh, name=cage class=Pointlight, name= class=Model, name=node_1 class=Mesh, name= class=Model, name=node_2 class=Mesh, name= class=Model, name=node_3 class=Mesh, name= class=Model, name=node_4 class=Mesh, name= class=Model, name=doorway_3 class=Mesh, name=U3D_MESH class=Model, name=metal01_5 class=Mesh, name=U3D_MESH class=Model, name=metal01_6 class=Mesh, name=U3D_MESH To get the print out I just added some print code like this TEntity Scene::_parse( TEntity e ) { if( e == nullptr ) return nullptr ; // --- print std::ostringstream os ; for( int tab=0; tab < _tab; ++tab ) os << " "; std::string cls = GetEntityKey(e, "class"); std::string name = GetEntityKey(e,"name"); os << "class=" << cls << ", name=" << name ; AppLog( os.str().c_str()); _tab++; // --- std::string cls = GetEntityKey(e, "class"); if( cls == "Directionallight" ) _onDirectionalLight(e); else if( cls == "Mesh" ) _onMesh(e); int numChilds = CountChildren( e ); for( int ii = 0; ii < numChilds; ++ii ) _parse( GetChild(e, ii+1 ) ); _tab--; return nullptr; } -
Just love to see that scratch paper... I have a bunch of those my self . Also I'm happy to see that your papers ends up in something useful. Mine usually only ends up in the trashcan.
-
Yes. You can have several materials on a single entity. In your case 6 materials. Then the Entity (which is a Mesh) will contain 6 surfaces. Each surface has its own material. TSurface GetSurface(TMesh mesh, long index=1) gives the surface you want to access TMaterial GetSurfaceMaterial(TSurface surface) gives the material for that surface. The problem then in your case is to know which surface was hit. To get that information you will have to make some clever code to find that out. Maybe by using some raycasting function.
-
No. UU3D is for conversion and uv-mapping Use Blender or another 3D tool for modeling (Blender is free)
-
You will get the TEntity collided with, right. TMaterial GetEntityMaterial( TEntity entity ) will give you the material for that entity TTexture GetMaterialTexture( TMaterial material, int stage ) then gives the TTexture str TextureName( TTexture texture ) gives texture name
-
Ultimate Unwrap 3D is a great tool for conversion of 3d model files. Has a GMF exporter also.
-
http://www.leadwerks.com/werkspace/files/file/296-delphi-freepascal-headers-for-leadwerks/ http://www.leadwerks.com/werkspace/files/file/273-lupins-le2-3d-game-engine-starter-kit-for-delphi-and-freepascal/ http://www.blender.org/
-
What would be the simplest way to fetch lights from an scene ?
Roland replied to shadmar's topic in Programming
Here is a part from my scene-loader class that shows how to parse lights. void Scene::Load( const Char* pstrSBX ) { TEntity root = LoadScene( pstrSBX ); _parse( root ); } TEntity Scene::_parse( TEntity e ) { if( e == nullptr ) return nullptr ; std::string cls = GetEntityKey(e, "class"); if( cls == "Directionallight" ) _onDirectionalLight(e); else if( cls == "Mesh" ) _onMesh(e); int numChilds = CountChildren( e ); for( int ii = 0; ii < numChilds; ++ii ) _parse( GetChild(e, ii+1 ) ); return nullptr; } void Scene::_onDirectionalLight( TLight e ) { // handle light here } void Scene::_onMesh( TMesh e ) { // handle mesh here } -
Aha! So its something like that. I have a GTX 560 Ti with the latest nVidia drivers (must check that ... ). Anyway. Thanks for testing. Now I know that its something at my end and not some general thing.
-
==== WALL texture0="abstract::stoneblocks08.dds" clamp0=0,0,0 texture1="abstract::stoneblocks08_normal.dds" clamp1=0,0,0 blend=0 depthmask=1 depthtest=1 overlay=0 zsort=0 cullface=1 castshadows=1 specular=0.100000001 bumpscale=0.699999988 gloss=0.800000012 shader="abstract::mesh_diffuse_bumpmap.vert","abstract::mesh_diffuse_bumpmap.frag" shadowshader="abstract::mesh_shadow.vert","" ==== BUILDING texture0="abstract::building1.dds" clamp0=0,0,0 texture1="abstract::building1_nm.dds" clamp1=0,0,0 blend=0 depthmask=1 depthtest=1 overlay=0 zsort=0 cullface=1 castshadows=1 specular=0.699999988 bumpscale=1.39999998 gloss=0.500000000 shader="abstract::mesh_diffuse_bumpmap.vert","abstract::mesh_diffuse_bumpmap.frag" shadowshader="abstract::mesh_shadow.vert","" This is really strange. It must be the model then, even if I cant see any difference between the stone wall and the wall in the building. The stone wall is made by me. The building is one of Arteria 3D's buildings. But I cant see any difference between the way the are done when loaded into Modo.... or ... there is one difference. The building from Arteria 3D is triangulated, my wall is not. But that would not cause this as I assume that they both comes out triangulated in the end anyway.
-
Have you tested? zsort=0 does not solve the problem here By the way. What does exactly zsort do? texture0="abstract::building1.dds" clamp0=0,0,0 texture1="abstract::building1_nm.dds" clamp1=0,0,0 blend=0 depthmask=1 depthtest=1 overlay=0 zsort=0 cullface=0 castshadows=1 specular=0.699999988 bumpscale=1.39999998 gloss=0.500000000 shader="abstract::mesh_diffuse_bumpmap.vert","abstract::mesh_diffuse_bumpmap.frag" shadowshader="abstract::mesh_shadow.vert",""
-
Normals seems OK
-
Don't think its a bug in the engine. Seems to be something with my building although I cant figure out what. Here is a complete test scene. There is a wall and a simple building. The wall don't let the light through, The building does.
-
texture0="abstract::building1.dds" clamp0=0,0,0 texture1="abstract::urban_building1_nm.dds" clamp1=0,0,0 blend=0 depthmask=1 depthtest=1 overlay=0 zsort=1 cullface=0 castshadows=1 specular=0.699999988 bumpscale=1.39999998 gloss=0.500000000 shader="abstract::mesh_diffuse_bumpmap.vert","abstract::mesh_diffuse_bumpmap.frag" shadowshader="abstract::mesh_shadow.vert",""
-
Strange. My walls are 14 inch thick.
-
Little problem here. As you can see in the enclosed image the firepit light shines through the wall of the house. This scene is loaded in C++ from a sbx-file (where it also shines through the wall). Possible to avoid this. How? Thanks
-
You dont need any more files. Just change the media dir to where your assets are. Normally the sdk folder. Check the code and you will find the media string
-
-
Relly nice idea with the animation groups.
-
I'm not a LUA developer so it was just my best guess. Sorry that it was a bad guess Personally I would do it manually.
-
No VS2010! ... how strange.. .. Well VS2008 files will probably convert to VS2010 without problems ( I hope )