If you want to replace the assets used in rendering, then you're going to have to know how to make said assets, so you need to know how to create 3D models and images suitable for texturing a surface. But keep that on the back burner, because you also need to know how to inject said assets into the game. This not only means knowing what format the game is expecting the asset to be in, but also where that asset is stored in the game's files. The latter part is easier than the former, since most games these days package things up into archive files and assuming there's a way to look into it, you can usually replace the asset in question in the archive file with what you want.
Either way, there's a pretty large hill to climb if you want to create your own custom assets and inject them in the game.