Is Crazybump a good tool for updating textures?

Ask for help about creating mods and scripts for Grimrock 2 or share your tips, scripts, tools and assets with other modders here. Warning: forum contains spoilers!
Post Reply
MrChoke
Posts: 324
Joined: Sat Oct 25, 2014 7:20 pm

Is Crazybump a good tool for updating textures?

Post by MrChoke »

As most know I am sure, almost all models in Grimrock 2 are built from "diffuse", "specular" and "normal" .dds files (I think I got the names right). So what if I want to take one of the existing models and just change its color? I have been looking for the best tool that will allow me to update material files as needed and save out these 3 different formats. So far, my best guess seems to be a tool called "CrazyBump". To the far more advanced 3D graphics guys, is this a good tool?

2nd question, if Crazy Bump is a good tool, it seems like the way to go about getting a simple color change is to update the diffuse file in whatever paint program you want and save it out. The .dif file seems to be the one that looks closest to how it looks in game. Then I load this file into CrazyBump and generate the .spec and .normal? Yes? Maybe?

UPDATE:
Wow this tool is $100 bucks!!! Sheesh. It better be DAMN good. Sigh.
minmay
Posts: 2790
Joined: Mon Sep 23, 2013 2:24 am

Re: Is Crazybump a good tool for updating textures?

Post by minmay »

I can't speak for the quality of CrazyBump, but it is absolutely useless for what you want to do. You should take the time to learn what diffuse, specular, and normal maps actually are.
The diffuse map is used for the color of diffuse reflections, i.e. it's what gives surfaces most of the color that you see.
The specular map is used for the intensity and color of (roughly) specular reflections, i.e. it's what gives surfaces their "reflective color" when they're highlighted. (The "glossiness" number in the material definition is used to determine gloss for the whole model, there are no gloss maps in Grimrock that I know of.)
The normal map is used to change the direction of surface normals, so that a flat surface can appear non-flat. It's why models in the game don't have millions of polygons. You would never change the normal map unless you want to simulate a change in the shape of the mesh.
Emissive maps are used to simulate materials that emit light without introducing the prohibitive rendering overhead that would be needed for actual area light (how this can possibly actually work is still a mystery to me).
To do a color change, you would just open the diffuse map in your preferred program, change the color, and save it. Here's a GIMP plugin that works okay although it's missing some features and the selection of mipmap generation algorithms is poor. You might change the specular map in the same fashion depending on the material (many materials just have greyscale specular maps that you presumably wouldn't want to change), but never the normal map.
Be aware that textures in Grimrock almost always use lossy compression. This means that doing the above will degrade the quality of the texture no matter what, even if your color transformation is not destructive. You could save the texture uncompressed, of course, but then you have a texture with the huge size of an uncompressed texture, and the quality loss of a lossily compressed texture (because the original was lossily compressed). The modding community's unspoken consensus on this seems to be to just accept it (I'm guilty of doing exactly that). Maybe someone could convince AH to offer a torrent with the original uncompressed textures, who knows.
Grimrock 1 dungeon
Grimrock 2 resources
I no longer answer scripting questions in private messages. Please ask in a forum topic or this Discord server.
User avatar
Skuggasveinn
Posts: 562
Joined: Wed Sep 26, 2012 5:28 pm

Re: Is Crazybump a good tool for updating textures?

Post by Skuggasveinn »

To expand on what minmay is saying
You create your own material where you point to your changed diffuse, and point the the original spec and normal if you are just interested in changing the colour of something.
Lets use the Ice Lizard as an example. I change the diffuse to more brownish colour, and call it sand_lizard.
SpoilerShow

Code: Select all

defineMaterial{
	name = "sand_lizard", -- I CHANGE THE NAME
	diffuseMap = "mod_assets/textures/monsters/sand_lizard_dif.tga",  -- THIS IS MY NEW DIFFUSE AND LEAVE THE OTHERS UNCHANGED
	specularMap = "assets/textures/monsters/ice_lizard_spec.tga",
	normalMap = "assets/textures/monsters/ice_lizard_normal.tga",
	doubleSided = false,
	lighting = true,
	alphaTest = false,
	blendMode = "Opaque",
	textureAddressMode = "Wrap",
	glossiness = 65,
	depthBias = 0,
}
Then I copy the code for the ice_lizard and overwrite the original material (note I didn't past all the code, just the first lines that include my change)
SpoilerShow

Code: Select all

defineObject{
	name = "sand_lizard", -- I GIVE THE MONSTER A NEW NAME
	baseObject = "base_monster",
	components = {
		{
			class = "Model",
			model = "assets/models/monsters/ice_lizard.fbx", 
			material = "sand_lizard",  -- HERE I OVERWRITE THE ORIGINAL MATERIAL WITH MY NEW ONE

			storeSourceData = true,
		},
               -- after this part comes the animation and a whole more that's part of the monster code that you need to include also

That's the short and dirty of re-skinning something.
If you want a completely new material (like snow ground) then you need to create the spec and normal also.
Normals are usually baked from the 3d model data, and a subject that can not be covered in a short reply.
But I'm sensing that you want a program like crazybump that can generate this kind of textures from the diffuse map, note that the results will always be far worse then to bake it from the 3d mesh.
I can point you to a much cheaper (its $14.99 ) alternative called MindTex http://store.steampowered.com/app/269450/

Hope that helps you.

Skuggasveinn.
Link to all my LoG 2 assets on Nexus.
Link to all my LoG 1 assets on Nexus.
MrChoke
Posts: 324
Joined: Sat Oct 25, 2014 7:20 pm

Re: Is Crazybump a good tool for updating textures?

Post by MrChoke »

Thanks guys. It sounds like I am good to just do nothing but use a paint program to update the diffuse file. And I have a good paint program to do that. I had assumed that all three files were interconnected enough that things wouldn't look right if I didn't re-generate all three. But admittedly, I know little about 3D graphics and have no time to learn past the minor edge deletes I have done in Blender and these planned color changes to the materials (now that we have them, yay!)
Post Reply