The norm is that 2D and 3D art assets are created in a comprehensive software with settings for lighting which are standard in the industry or at least standard to the target game engine. As an artist, if the game engine allows, then I may control the parameters of lighting for each model or even for each individual surface polygon of each model in extreme customization if I desire and the performance of the game and game engine will allow it.
Examples are that I can make a surface translucent or transparent as I manipulate it in the 3D software (such as Blender or Maya, for example). I could also select all surfaces of the model to apply a light feature. In this case, a common one is to control the color and/or amount of diffuse lighting of an object. This setting is the total basic lighting that is reflected or emitted from an object, but not the shine or transparency which are two other settings. The settings are applied to the model and saved in little files, usually within the model folder itself but sometimes external if the game engine calls for that. The model folder is typically dropped into a class folder to be read as a class. The game engine will read all contents of the model folder and rasterize to screen. Animations, collision, and damage model can potentially be included in the model folder, as well. Other characteristics of the model can be contained in the model folder, too, such as textures, bump mappings, and custom vehicle or character physics. These can be internal or external to the model in theoretically any combination that the game engine allows. Generally if a feature is not used by the game engine then it simply ignores the folder and files since it does not recognize them. Your game source code is what ties everything together in actual game functionality that the end-user and operating system needs for a game to be compiled, executed at runtime, and manipulated by the end-user gamer.
If the workflow pipeline is assembled correctly, then the game engine will accept the art assets well. The game developer then writes coding in the game source code which tells the game engine what to do. In some game engines, it is also possible to write game source coding automatically in WYSIWYG fashion, such as with the Blender game engine that uses nodes to show the developer what is going to happen in the game functionality and writes coding according to it. On the other extreme, some people write all low level and high level coding, but why try to reinvent the wheel?