Jump to content

xdxxdy

Members
  • Posts

    27
  • Joined

  • Last visited

Everything posted by xdxxdy

  1. graw support also the parallax bump mapping if you want you can use this "special material/shader" to make more realistic surfaces. The mark of bullet hit on some wall can show this beauty effect(decal_material="concrete"). If you want you can setup a material.xml and his texture to make some wall and other thing more realistic with the parallax. I do not have tryed in graw but can be possible Bye
  2. Hi search for: A8L8 and V8U8 Formats in this page: http://www.gamasutra.com/view/feature/2496...niques_and_.php To compose an A8L8 image you can use atlasgen.exe in game/tools folder or DirectX Texture Tool of the DirectX SDK. First we have to change the bump map of the material1 in this max scene http://files.filefront.com/bumprar/;10480949;/fileinfo.html than render. The output will be 2 texture named bump0000.bmp and bump0001.bmp. Open the bump0001 with directx texture tool, change surface format to A8L8, now go in the menù file and click open onto alpha channel of this texture and chose the bump0000 image. Save, make the tdb_, and try. Note: if you need to change the scene remember to render always sqare image example 1024x1024 for ati board compatibility. For the alpha image is almost the same thing but don't need max . Open a diffuse texture with a image editor, decrease the luminosity and increase the contrast until the image appear nearly black, save into desktop with another name respect the diffuse texture. Open the diffuse texture with directx texture tool, change surface format to four cc 8 bit dxt5, now menù file and open onto alpha channel of this surface, chose the image that you have darked. Save, make the tdb_, and try. Note: remember to make always sqare image example 1024x1024 for ati board compatibility. Good luck
  3. Hi this rar contain a simple model to show the unwrap editor in max and 3 screenshot http://files.filefront.com/unwrap+channel+...;/fileinfo.html if you see some defect in the lightmap rendered along the hard edges of your model you can increase the "spacing value" in the "flatten mapping..." window or increase the resolution of lightmap inside torre.xml(i prefear the first solution to keep low the render time).
  4. if the problem is present only in mp 90% of case is the anticheat to much severe change server First of all update all drivers that can resolve overtemperature/undervoltage in many systems and clean the fun coolers Bye
  5. Hi you have to install virtual machine and use server proxy that can pass through gamespy bridge/login server maybe needed 2 installation code(for 2 legal server!). If a your friend want share his code you can mount 2 server Bye
  6. HI <?xml version="1.0" encoding="iso-8859-1"?> <dynamic_object xmlns:xi="x"> <diesel file="/data/objects/props/torre/torre.diesel" orientation_object="root_point" materials="/data/objects/props/torre/materials.xml"/> <body editable="true" name="torre" tag="concrete" template="static"> <object name="root_point"/> <object name="torre" collision_type="mesh_mopp" hidden="false" material="stone" shadow_caster="true"/> </body> <decal_surfaces static="true"> <ds_mesh object="torre"/> </decal_surfaces> <lightmap> <object name="torre" height="512" width="512"/> </lightmap> </dynamic_object> shadow_caster="true" isn't nedeed if you place some ambient point around and inside the torre for the lightmap you have to create the uvw in channel 4 in max and edit it to remove polygons overlap(unfolding). the lightmap is the only method to have best result Bye
  7. hi Davide, i have lost that video so i have made another new with this files included: videos, max model, shader, an example map, and the files of map unbundled. I hope that you find what you need in this videos. Bye http://files.filefront.com/tutorialrar/;10...;/fileinfo.html
  8. http://files.filefront.com/worldrar/;10080364;/fileinfo.html A very giant map (154.15 KB) to show a workaround for the rain indor.
  9. Still in need of assistance in converting a wav back to a bank file. Not looked into it tbh. Will make it a nice touch. Hi Yes ok you can make what you want For wave ask to BRETTZIES, he can help you, the map will become a mod. Ps. Ciao papo
  10. Yes, I don't know how is possible make clip the particles with a custom geometry, however if you want you can change the lifetime so the particles disappear before enter into the buildings but is difficoult. Another way is to use the same geometry, of aff all objects + the landscape, as an emitter then after the placement you have to increase the z level. All the polys of the plane of emission must have the same area. Before all ask to wolfsong how you can clip the particles with a custom geometry, is the way most easy. Sorry for my very bad english
  11. http://files.filefront.com/carar/;10076967;/fileinfo.html Calavera with a new environment and rain effect. It's only an example and can be expanded by add lightning and custom sound. Bye
  12. run: G:\3dsMax8\3dsmax.exe -h where G:\3dsMax8\ is the installation path chose directx9 not 8.1 or software bye
  13. After max scene reloading all the directx9 materials must be reloaded to view the job done before the exit.
  14. Hi this is a new version with normal bump maps blended and specular power, derived from alpha chanell of the diffuse textures, always blended by the vertex color . string ParamID = "0x000001"; texture TextureMap_5818 < string ResourceName = ""; string UIName = "diffuse"; string ResourceType = "2D"; >; sampler2D TextureMap_5818Sampler = sampler_state { Texture = <TextureMap_5818>; MinFilter = LINEAR; MagFilter = LINEAR; MipFilter = LINEAR; AddressU = WRAP; AddressV = WRAP; }; texture TextureMap_1132 < string ResourceName = ""; string UIName = "self_illumination"; string ResourceType = "2D"; >; sampler2D TextureMap_1132Sampler = sampler_state { Texture = <TextureMap_1132>; MinFilter = LINEAR; MagFilter = LINEAR; MipFilter = LINEAR; AddressU = WRAP; AddressV = WRAP; }; int texcoord0 : Texcoord < int Texcoord = 0; int MapChannel = 1; string UIWidget = "None"; >; int texcoord1 : Texcoord < int Texcoord = 1; int MapChannel = 2; string UIWidget = "None"; >; int texcoord2 : Texcoord < int Texcoord = 2; int MapChannel = 3; string UIWidget = "None"; >; int texcoord3 : Texcoord < int Texcoord = 3; int MapChannel = 0; string UIWidget = "None"; >; int texcoord4 : Texcoord < int Texcoord = 4; int MapChannel = -2; string UIWidget = "None"; >; float4 UIColor_1785 < string UIName = "bump_test"; string UIWidget = "Color"; > = {0.0f, 0.0f, 0.0f, 1.0f }; float UIConst_7268 < string UIWidget = "Spinner"; float UIMin = 0.0; float UIMax = 10.0; float UIStep = 0.1; string UIName = "specular"; > = 1.0; texture NormalMap_2411 : NormalMap < string ResourceName = ""; string UIName = "bump_normal"; string ResourceType = "2D"; >; sampler2D NormalMap_2411Sampler = sampler_state { Texture = <NormalMap_2411>; MinFilter = LINEAR; MagFilter = LINEAR; MipFilter = LINEAR; AddressU = WRAP; AddressV = WRAP; }; texture NormalMap_5583 : NormalMap < string ResourceName = ""; string UIName = "distorsion"; string ResourceType = "2D"; >; sampler2D NormalMap_5583Sampler = sampler_state { Texture = <NormalMap_5583>; MinFilter = LINEAR; MagFilter = LINEAR; MipFilter = LINEAR; AddressU = WRAP; AddressV = WRAP; }; float UIConst_1094 < string UIWidget = "Spinner"; float UIMin = 0.0; float UIMax = 1.0; float UIStep = 0.1; string UIName = "bump"; > = 1.0; float3 light1Pos : POSITION < string UIName = "Light 1 Position"; string Object = "PointLight"; string Space = "World"; int refID = 1; > = {100.0f, 100.0f, 100.0f}; float4 light1Color : LIGHTCOLOR < int LightRef = 1; string UIWidget = "None"; > = { 1.0f, 1.0f, 1.0f, 1.0f}; float4x4 wvp : WorldViewProjection < string UIWidget = "None"; >; float4x4 worldI : WorldInverse < string UIWidget = "None"; >; float4x4 worldIT : WorldInverseTranspose < string UIWidget = "None"; >; float4x4 viewInv : ViewInverse < string UIWidget = "None"; >; float4x4 world : World < string UIWidget = "None"; >; struct a2v { float4 position : POSITION; float3 tangent : TANGENT; float3 binormal : BINORMAL; float3 normal : NORMAL; float2 texCoord : TEXCOORD0; float3 vertcol : TEXCOORD3; float vertalpha : TEXCOORD4; }; struct v2f { float4 position : POSITION; float3 lightVec : TEXCOORD0; float3 eyeVec : TEXCOORD1; float2 texCoord : TEXCOORD2; float4 color : COLOR; }; v2f v(a2v In, uniform float3 lightPosition) { v2f Out = (v2f)0; Out.position = mul(In.position, wvp); float3x3 objTangentXf; #ifdef YUP objTangentXf[0] = In.tangent; objTangentXf[1] = -In.binormal; #else objTangentXf[0] = In.binormal; objTangentXf[1] = -In.tangent; #endif objTangentXf[2] = In.normal; float3 wsLPos = mul(In.position, world).xyz; float3 wsLVec = lightPosition - wsLPos; float3 osLVec = mul(wsLVec, worldI).xyz; Out.lightVec = mul(objTangentXf, osLVec); float4 osIPos = mul(viewInv[3], worldI); float3 osIVec = osIPos.xyz - In.position.xyz; Out.eyeVec = mul(objTangentXf, osIVec); Out.texCoord = In.texCoord; Out.texCoord.y += 1.0f; float4 VertColor = float4(In.vertcol.rgb, In.vertalpha.r); Out.color = VertColor; return Out; } float4 f(v2f In, uniform float4 lightColor) : COLOR { float3 ret = float3(0,0,0); float3 V = normalize(In.eyeVec); float3 L = normalize(In.lightVec); float4 TextureMap_5818 = tex2D(TextureMap_5818Sampler, In.texCoord.xy); float4 TextureMap_1132 = tex2D(TextureMap_1132Sampler, In.texCoord.xy); float4 INVertColor_8620 = In.color; float3 MathLerp_1532 = lerp(TextureMap_5818.rgb, TextureMap_1132.rgb, INVertColor_8620.r); float3 MathLerp_2973 = lerp(MathLerp_1532, UIColor_1785, UIColor_1785); float3 input2 = MathLerp_2973; float MathLerp_4797 = lerp(TextureMap_5818.a, TextureMap_1132.a, INVertColor_8620.r); float MathOperator_1853 = MathLerp_4797 * UIConst_7268; float input4 = MathOperator_1853; float3 Normal = float3(0,0,1); float4 NormalMap_2411 = tex2D(NormalMap_2411Sampler, In.texCoord.xy); NormalMap_2411.xyzw = NormalMap_2411.wyzz; NormalMap_2411.xyz = NormalMap_2411.xyz * 2 - 1; NormalMap_2411.z = sqrt(1 - NormalMap_2411.x * NormalMap_2411.x - NormalMap_2411.y * NormalMap_2411.y); NormalMap_2411.rgb = normalize(NormalMap_2411.rgb); float4 NormalMap_5583 = tex2D(NormalMap_5583Sampler, In.texCoord.xy); NormalMap_5583.xyzw = NormalMap_5583.wyzz; NormalMap_5583.xyz = NormalMap_5583.xyz * 2 - 1; NormalMap_5583.z = sqrt(1 - NormalMap_5583.x * NormalMap_5583.x - NormalMap_5583.y * NormalMap_5583.y); NormalMap_5583.rgb = normalize(NormalMap_5583.rgb); float3 MathLerp_1363 = lerp(NormalMap_2411.rgb, NormalMap_5583.rgb, INVertColor_8620.r); float3 MathLerp_3078 = lerp(Normal, MathLerp_1363, UIConst_1094); float3 input8 = MathLerp_3078; float3 N = input8; float3 diffuseColor = input2; float diffuse = saturate(dot(N,L)); diffuseColor *= diffuse; ret += diffuseColor; float specularColor = input4; float glossiness = 20; float3 H = normalize(L + V); float NdotH = saturate(dot(N,H)); specularColor *= pow(NdotH, glossiness); ret += specularColor; ret *= lightColor; float4 done = float4(ret, 1); return done; } technique Complete { pass light1 { VertexShader = compile vs_1_1 v(light1Pos); ZEnable = true; CullMode = cw; ZWriteEnable = true; DestBlend = One; AlphaBlendEnable = false; PixelShader = compile ps_2_0 f(light1Color); } }
  15. substitute the content of sfera.xml with this: <?xml version="1.0" encoding="ISO-8859-1" ?> <dynamic_object> <diesel file="/data/objects/sfera.diesel" orientation_object="root_point" materials="/data/objects/materials.xml"/> <object name="root_point"/> <animation_group name="test" playing="true"> <object name="sfera"/> </animation_group> <body name="bo" keyframed="true"> <object name="sfera" collision_type="mesh_mopp" shadow_caster="true"/> </body> </dynamic_object> How has said wolfsong the units without the body or wrong body declaration are unselectable in the editor after placement. Note the <object name="sfera"/> and <object name="sfera" collision_type="mesh_mopp" shadow_caster="true"/> they have the same name chosen in 3dsmax "sfera". In the unit file u_sfera.xml lacks the line "network sync" that allow the sync of the animations for the on-line game. I have removed that because increase network traffic but this can cause graphics difference in the clients especially in coop. substitute the content of u_sfera.xml with this: <?xml version="1.0" encoding="ISO-8859-1"?> <units> <unit type="prop" name="test_sfera_anim" slot="20"> <network sync="bodies" /> <model file="sfera.xml"/> <script_class name="base" class="Base"/> <stats block="base_data"> </stats> </unit> </units> Bye
  16. Another video of an animated object to add at the scenography!!! GR.net Download
  17. click on yellow button and select the .fx just created in notepad selected the two textures apply the material to the object and apply a vertexpaint modifier, now you can paint Bye
  18. string ParamID = "0x000001"; texture TextureMap_125 : DiffuseMap < string ResourceName = ""; string UIName = "Texture Map"; string ResourceType = "2D"; >; sampler2D TextureMap_125Sampler = sampler_state { Texture = <TextureMap_125>; MinFilter = LINEAR; MagFilter = LINEAR; MipFilter = LINEAR; AddressU = WRAP; AddressV = WRAP; }; texture TextureMap_7516 : DiffuseMap < string ResourceName = ""; string UIName = "Texture Map"; string ResourceType = "2D"; >; sampler2D TextureMap_7516Sampler = sampler_state { Texture = <TextureMap_7516>; MinFilter = LINEAR; MagFilter = LINEAR; MipFilter = LINEAR; AddressU = WRAP; AddressV = WRAP; }; int texcoord0 : Texcoord < int Texcoord = 0; int MapChannel = 1; string UIWidget = "None"; >; int texcoord1 : Texcoord < int Texcoord = 1; int MapChannel = 2; string UIWidget = "None"; >; int texcoord2 : Texcoord < int Texcoord = 2; int MapChannel = 3; string UIWidget = "None"; >; int texcoord3 : Texcoord < int Texcoord = 3; int MapChannel = 0; string UIWidget = "None"; >; int texcoord4 : Texcoord < int Texcoord = 4; int MapChannel = -2; string UIWidget = "None"; >; float3 light1Pos : POSITION < string UIName = "Light 1 Position"; string Object = "PointLight"; string Space = "World"; int refID = 1; > = {100.0f, 100.0f, 100.0f}; float4 light1Color : LIGHTCOLOR < int LightRef = 1; string UIWidget = "None"; > = { 1.0f, 1.0f, 1.0f, 1.0f}; float4x4 wvp : WorldViewProjection < string UIWidget = "None"; >; float4x4 worldI : WorldInverse < string UIWidget = "None"; >; float4x4 worldIT : WorldInverseTranspose < string UIWidget = "None"; >; float4x4 viewInv : ViewInverse < string UIWidget = "None"; >; float4x4 world : World < string UIWidget = "None"; >; struct a2v { float4 position : POSITION; float3 tangent : TANGENT; float3 binormal : BINORMAL; float3 normal : NORMAL; float2 texCoord : TEXCOORD0; float3 vertcol : TEXCOORD3; float vertalpha : TEXCOORD4; }; struct v2f { float4 position : POSITION; float3 light1Vec : TEXCOORD0; float2 texCoord : TEXCOORD1; float4 color : COLOR; }; v2f v(a2v In, uniform float3 lightPosition) { v2f Out = (v2f)0; Out.position = mul(In.position, wvp); float3x3 objTangentXf; #ifdef YUP objTangentXf[0] = In.tangent; objTangentXf[1] = -In.binormal; #else objTangentXf[0] = In.binormal; objTangentXf[1] = -In.tangent; #endif objTangentXf[2] = In.normal; float3 wsL1Pos = mul(In.position, world).xyz; float3 wsL1Vec = light1Pos - wsL1Pos; float3 osL1Vec = mul(wsL1Vec, worldI).xyz; Out.light1Vec = mul(objTangentXf, osL1Vec); Out.texCoord = In.texCoord; Out.texCoord.y += 1.0f; float4 VertColor = float4(In.vertcol.rgb, In.vertalpha.r); Out.color = VertColor; return Out; } float4 f(v2f In, uniform float4 lightColor) : COLOR { float4 TextureMap_125 = tex2D(TextureMap_125Sampler, In.texCoord.xy); float4 TextureMap_7516 = tex2D(TextureMap_7516Sampler, In.texCoord.xy); float4 INVertColor_5120 = In.color; float3 MathLerp_8483 = lerp(TextureMap_125.rgb, TextureMap_7516.rgb, INVertColor_5120.r); float3 input2 = MathLerp_8483; float3 ret = float3(0,0,0); float3 N = float3(0.0, 0.0, 1.0); float3 L1 = normalize(In.light1Vec.xyz); float3 light1 = saturate(dot(N, L1)) * light1Color.xyz * input2; ret += light1; float4 done = float4(ret, 1); return done; } technique Complete { pass one { VertexShader = compile vs_1_1 v(light1Pos); ZEnable = true; ZWriteEnable = true; CullMode = cw; AlphaBlendEnable = false; PixelShader = compile ps_3_0 f(light1Color); } } save this in a .fx file this is a shader to make interactive texture blend painting in max8 1° create a new material of kind directx 9 shader 2° load the effect .fx and chose the two texture that you want blend 3° add a vetex paint at the object that you want texturing 4° apply the material directx 9 5° start paint, you will see the blending in realtime. Bye ps. remember remane the material to respect the declaration in the materials.xml
  19. Yes, the script was wrong not you!!!!. Sorry for my bad english.
  20. yes wolfsong was wrong , damn !!!! thank you for the advise, i will replace the parts wrong of the video, soon as possible! bye
  21. yes wolfsong no sound this video is incomplete in xml editing part, however the name prova_landscape.xml is ok because i have called it so in the unit file. I have made this tutorial only for explain the 3ds max steps, the .xmls editied are for clarity only. the most important file for the purpose of the video is the material.xml a council for all new modder: look the tutorial custom landscape for graw 1 is very usefull for .xmls bye
  22. http://files.filefront.com/tutrar/;10003623;/fileinfo.html long and high resolution tutorial for max for build a custom terrain this is valid also for custom object if is this usefull i can make another video to demostrate animated objects exporting from max, always for graw2 bye http://tanatos-forum.forumattivo.com/map-j...azione-t167.htm
  23. data\objects\ostacolo.xml <?xml version="1.0" encoding="ISO-8859-1" ?> <dynamic_object xmlns:xi="x"> <diesel file="/data/objects/ostacolo.diesel" orientation_object="root_point"/> <body name="ostacolo" editable="true" start_active="true" remove_ray_type="body" add_ray_type="novis" template="no_collision"> <object name="root_point"/> <object name="ostacolo" hidden="true" collision_type="box"/> </body> </dynamic_object>
×
×
  • Create New...