Jump to content

MopS

Member
  • Posts

    34
  • Joined

  • Last visited

Reputation Activity

  1. Like
    MopS reacted to nheve in Blender template for creating custom PZ Tiles   
    Blender template for creating custom Project Zomboid Tiles
     
    Hello. Recently been experimenting with creating custom tiles for Project Zomboid, and tried to create some model for it in the Blender software. So ive decided to prepare and share some instructions/template for people who would want to create their models/furniture in blender - but they are still a bit confused how to start with it, to fit with the default PZ dimensions.
     

     
    Heres project file for Blender (currently 2.92.0 version), which contains a basic workspace for creating Project Zomboid tilesets in 3D environment.
     
    Download:
    https://drive.google.com/drive/folders/1B_wVyOKwibm3PxI6-ZQsP_hgV0U3OQGi?usp=sharing
     
    Camera angle is set up to fit properly the isometric view of tiles used in PZ (you can see camera view by pressing Numpad0 key). Also theres included additional ‘helper grid’ (just an image reference) to keep track of proper size for the model (this grid is only visible in the camera view).
    Ive included also an example of bookshelves modeled by me - with base texture, normal map and specular map - also with two lights to create shadows and give an additional effect of accent to the final render. These maps are optional, but they helps in adding more depth to your model. You can also change or remove (or add more) the lights, but its generally good to have at least one light in scene.
     
    Important note - to fit into general style of tiles ingame, remember to set up lighting affecting your models in a similar style as it is visible on original tiles. To help you with understanding the lighting style of tiles in PZ, ive prepared some quick helper images below:

     
    In blender project, ive also enabled Ambient Oclussion option in the scene properties, as well with Bloom effect for making the render looks more soft and smooth for the eye. These options can be adjusted and disabled as well.
     
    The process of creating a model can be a bit complicated and overwhelming at beginning, so before using this template - make sure to look up the basics of modeling, creating uv map and texturing in blender. Personally i would recommend learning from the “Blender Guru” channel (made by Andrew Price). He’s got very good tutorials especially for beginners, with a calm pace of narration through it, while explaining each step in details.
     
    General steps for creating your model are as below:
     
    1) Start modeling the shape of your object/furniture. There are many different methods how to do it, and its good to look up for tutorials and find the method best fitting for yourself. Example: Here
     
    2) When you will have a finished model, you need to unwrap your mesh to UV Map. By default it is made by selecting all faces of your mesh in edit mode (with A key, or manually) - and then pressing U key, and choosing one of the options to unwrap it into UV map. Theres few ways to do that as well - if your model isnt very complicated and detailed, i think simple and practical way is just to use Smart UV Project option, and then setting some small value for the Island Margin (so you can edit easily each face of the mesh in UV map later). Heres another video which may explain you more about unwraping the mesh (and also marking seams, which allows you to manually project your mesh in parts): Link
     
    3) Once you have your model and UV map prepared, you need to find or create some textures. Please keep in mind that not everyone is okay with using their textures by someone else - but you should be able to find some nice, free textures for non-commercial projects (or commercial if its needed). Texture ive used in the template, i found on this site: https://freestocktextures.com/texture/ The authors of these photos give you license to use the textures for free in both commercial and non-commercial way - also with possibility to modify the texture as you would want to (which i did, making the texture a lot darker).
     
    4) With prepared texture, you need to create new material for you model, and apply the texture to it. You can do it by going to the node view (in Shading tab), and adding Image Texture Node, choosing your texture in it, and finally linking it to the Output Node. Once you have your texture linked, you can go to the UV Editing tab on the top, where you will be able to see two viewports - uv mesh editor on the left, and 3d view on the right. Hover your mouse cursor on the view on right side, make sure to change mode to Edit mode, and then press Z key, and choose Rendered view, to see your render (with applied texture) in the real time (thanks to new Eevee render engine in blender). Now you can select different faces of your mesh in this viewport, and with each select you will see in the left viewport a highlighted face projected from our mesh. Use this UV Editor to adjust your uv map (change shape or scale), to make sure texture appears properly on your model.
     
    5) All necessary steps are completed. You can also add the normal map and specular map to give your model more depth. This can be done as well with the nodes in the Shading tab. You can look up the basic example in the template, in the same node view. Making normal maps and specular maps can be done in a few ways as well. But for this tutorial - you can find online free tools which would help you generate those maps, based on the base texture. Theres also a way to generate normal maps in Krita (as well like in Gimp or Photoshop), by using proper filter.
     
    6) Remember to add some light to your scene, its nice to have at least a subtle one. You can also change the overall world lighting in the World properties/Surface.
     
    How to use a template
     
    Simply open the project in blender, and start by hiding the bookshelves model (make it visible when you will need a reference, you can remove it later). Do it, by hiding not just model, but the individual collections (which are like layers in the graphics software) - like ive prepared in the project, as seen below:

    Notice also that theres four different collections of bookshelves models - two for the different sides in front view, and two for the different sides in back view. Also each of them is placed in the slightly different position - it is intentional to make the same light effect on them, but with light covering them accordingly from proper side (and fitting to the original PZ lighting style), in the final render (so you need to render and save them separately - just check current collection, and uncheck the rest). The lighting setup ive prepared in the project isnt perfect and ideal, but should work properly with your models, and for the most important - it should fit the original style.
    Dont be afraid to experiment with setting different lighting - and changing its shape, power, or even colors.
     
    Theres helper grid of original isometric tiles from project zomboid, which appears only in the Ortographic view in the camera (access camera view by Numpad0 key). You can use it when you are done with final model, to align the model/furniture as it would appear in the TileZed editor - to make sure, for example, if it fits on the one or more isometric tiles.
     
    The angles for the camera in blender, to work with the isometric view of PZ, are set up as below:

     

     
    Orthographic Scale is set to 10. To fit the original tiles size it should be on 20, but we are using 10, because (in my opinion) as you will see later - it will help us create better, clean effect (instead of blurry) in the final render and exporting to tileset.
     
    When you are happy with look of your model, render it and save as image (separately for all front and back sides).
     
    Also useful tip:
    To prepare back view of your model - simply duplicate your model, select it, and then just press S (scale) key, and then X (x axis), and finally write -1 and press Enter key to accept. This will rotate the object in the opposite direction, exposing its back properly to the camera view (remember to place it in the proper position, having in mind the style of covering lighting).
     
    Also one more useful tip:
    To change a model to appear in different sides (front or back), in the eyes of your camera, as in the template project - you can select your model, duplicate it, and then press R (rotate) key, then press Z key (z axis), write number 90, then press minus (“-”) key (to make value as negative 90), and finally press enter to accept it. This will rotate your model accordingly in 90°. You can repeat the same process, but without using minus, to rotate model in opposite direction.
     
    Now we will add our rendered images to the tileset. To do that, find the image of one of the tilesets for Project Zomboid, which are available here:
    For this tutorial we will use “furniture_shelving_01” tileset image. Open it in your favorite graphics editor/software (in my case Krita). Then in the next tab open one of the rendered images. Change the scale of the whole image of your rendered model (should be in 1920x1080 resolution), by dividing original value by 2 - and choosing Scaling method as: Nearest Neighbour (or as Closest, or Pixel Perfect, in different software). Now you should have your image in 960x540 resolution.
    Select and copy your rescaled image, and go back to the “furniture_shelving_01” tileset, and paste your image there on new layer. 
    After this, try to line up layer of your new tile on top of the original one (in this case bookshelves), having the original one below your new one , and then select and delete the original tile from the first layer, leaving only your tile in the place. 
    This way you should achieve effect as below:

     
    As you can see, we got our new tile in a crispy (as Popeyes Chicken) look, instead of anti-aliased or too blurry - if we would set our previous value already as 20 in render settings in blender. This way the new tile got more pixel-like look, and (at least in my personal view) more fitting to the original PZ style.
     

     
    Thats all for this tutorial. Thank you for reading this - hope it could help someone. Good luck and have fun with creating your own tiles
     
    - nheve
  2. Like
    MopS got a reaction from Theo in The One Stop Shop for 3D Modeling: From Blender to Zomboid!   
    Hi all. I ran into a problem and took a long time to solve it. Decided to write it here, suddenly someone will come in handy. When we're scripting an item, it's very good to add the following structure so that it doesn't conflict with other mods. module YourModName
    {
                       imports {
                                       Base
                                      }
    }
     
     
    In such a case, when you specify a WorldStaticModel item parameter, you must specify your model in the format YourModName.YourModel.
     
    For example.
    module Astaroth
    WorldStaticModel = Astaroth.Asta,  
    Perhaps this is obvious, but I'm stuck at this point for about 2 days) I hope this helps someone)
     
     
    PS Thank you for creating this guide, it's much easier to get into the study of the 3d editor and the diversity of your game with it)
  3. Pie
    MopS got a reaction from Xyberviri in The One Stop Shop for 3D Modeling: From Blender to Zomboid!   
    Hi all. I ran into a problem and took a long time to solve it. Decided to write it here, suddenly someone will come in handy. When we're scripting an item, it's very good to add the following structure so that it doesn't conflict with other mods. module YourModName
    {
                       imports {
                                       Base
                                      }
    }
     
     
    In such a case, when you specify a WorldStaticModel item parameter, you must specify your model in the format YourModName.YourModel.
     
    For example.
    module Astaroth
    WorldStaticModel = Astaroth.Asta,  
    Perhaps this is obvious, but I'm stuck at this point for about 2 days) I hope this helps someone)
     
     
    PS Thank you for creating this guide, it's much easier to get into the study of the 3d editor and the diversity of your game with it)
  4. Like
    MopS got a reaction from Egodgorn in Help find guide   
    Hello. Most likely you didn't search well. The creation of weapons is quite simple in this game and a lot of people are doing it.
    You need the steamapps\common\ProjectZomboid\media\scripts folder
    In it you can find examples of how to correctly fill in the characteristics of weapons.
    Next, you need to create your own mod.
    C:\Users\YOURUSER\Zomboid\Workshop\ModTemplate help you with it.
    There you create your "your_weapon.txt" in scripts folder and paste code:
     
    module YOURMOD
    {
           imports
            {
               Base
            }
            
    item YOURWEAPON
        {
            DisplayCategory = Weapon,
            Type            = Weapon,
            """other features from common\ProjectZomboid\media\scripts folder"""
        }
     
     
    By the way, there are already a bunch of mods that add different weapons. Is it perhaps easier to look for something already ready than to do something that has already been done 100 times before you?
  5. Like
    MopS reacted to Benficarlos in WorldED won't show the map   
    I'm new to this but i think u need to go to File/BPM to TMX, and mark assign generated maps to the world then OK
  6. Like
    MopS reacted to Pandorea in How to fix my error's   
    Looks like this is mod related issue. Could you try disabling mods, deleting "mods" folder in "C:\Users\YourUserName\Zomboid" and starting a new game?
  7. Like
    MopS reacted to WhiskeyTangoFoxX in Digestive system is needed (and reproductive system)   
    Yeah lets leave those ideas to the realms of modding, shall we?

    Project Zomboid is *not* trying to be the most realistic game possible. PZ is a story generator, following the doomed experience of your player character. Realism factors in at a lot of places, but TIS has, on numerous occasions, opted to go for more game-y systems over realistic behaviour because the truth is: Realism isn't fun. It's possible to enjoy realism, but it's not fun if you take it to those frankly ridiculous extremes.
     
    As for the idea of a "reproductive system": There's so many reasons why this is a bad idea that listing them all is impossible, but here are a few anyways: 
    Ratings: A lot of countries restrict the sale of games with sexual content. Either they get banned entirely (Australia is a common example for this) or their purchase restricted to platforms with age verification. Having the content be hidden behind a toggled setting is not good enough to satisfy those rating boards. Player behaviour: Players are assholes. You have to always keep that in mind when designing games with multiplayer. Every feature you add needs to be thought out in particular regard to how easily it is exploited to ruin other player's fun. I don't think I need to elaborate too much on how a "reproduction" system can be used to abuse players. It's pointless: On the time scale the game runs on, seeing any possible child being born is already unlikely. Few players survive 9 months, and even fewer actually play that long before rerolling out of boredom. Let alone the decade+ it would take for that child being anything more than an annoying burden. Violence & Children: This one plays a bit into the ratings issue as well. Having children in this game also automatically implies the possibility of violence against children, and death of children. This is something that a LOT of people are not comfortable with, and that most ratings boards do not look kindly on. (Ever wonder why if there are kids in a violent game, they're almost always immortal?)  
    There's some other points I won't elaborate on, it doesn't take much thought to come up with more reasons why this isn't a good idea.
  8. Like
    MopS got a reaction from Tchernobill in 3d models for custom items.(solved)   
    After playing around with items for a long time, I figured out what the StaticModel is for. This is used for items that are tied to character animations. I used this when I made halberds. Without a StaticModel, they stand upright when placed on the floor (even with a WorldStaticModel)
  9. Like
    MopS got a reaction from Xyberviri in 3d models for custom items.(solved)   
    Thank you so much!!! I got it!! Now it will be necessary to play with the sizes and texture, but these are already quite trifles and they are even interesting for work.  
  10. Like
    MopS reacted to AuthenticPeach in The One Stop Shop for 3D Modeling: From Blender to Zomboid!   
    Hello and Welcome! Here you will find a concise and comprehensive guide and tutorial of making 3D models for Project Zomboid.   Currently, this will mainly pertain to custom Clothing creation but may include weapon creation in the future. This will present how to create models from scratch with Blender and bringing them into the game. I would like to emphasize that with the right optimization, you can bring any model into Zomboid.   Step 1) Installation and setup         Step 2) Model creation         Step 3) Skinned model or not? If not, Export your model and go onto the next step.        
    Step 4)  Creating the clothing item scripts     Step 5) Testing your Model     Step 6) Ground models As of 41.56, Project Zomboid added the ability to add an extra model to the item scripts, which pertains to when the item is dropped on the ground, or placed on a table. Here is how to do it. (Images coming soon) Step 1.  You will need to add an additional tag in your scripts. I usually like adding mine at the bottom of the script.  Step 2.  You then need to create the reference script that points to the location of your model and texture. Referencing the location of your texture is actually optional for clothing items since the code will default to pulling the texture from your clothingitem.xml.    Step 7) Extra things to do with 3D models    
     
    Guides regarding 3D Car models
     
     
    Thanks a ton to the people that taught and assisted me along the way to learn Blender for Zomboid - DETOX, Maxwell218, PawLow, and Shark!
  11. Pie
    MopS reacted to Xyberviri in 3d models for custom items.(solved)   
    Oh I just noticed, I believe the issue is your model is in "module Astaroth" and not "module Base" try using this:
    WorldStaticModel = Astaroth.Asta,  
     
     
     
  12. Like
    MopS got a reaction from Ciber Ninja in Help importing bmp file into TileZed   
    BMP do not need to upload to TileZed. You need to upload it to the project in WorldEd. And then from WorldEd you will work with every piece of the map in TileZed
  13. Spiffo
    MopS got a reaction from leejjangdol in i have a problem installing custom floor tile BMP, please help me...   
    Hi. 
    The first thing that comes to mind is the error with layers. Ie the floor is placed on Floors Overlay 3 or higher. But if you say that he is from the BMP, then most likely that is not the case. Maybe in Rules.txt you need to specify on which layer it will be displayed. I have not tried to do this, but it seems there was a similar position with plants.
    Second idea - did you forget to register in Tile Zed - Tools - Tile Preporites for this floor tile that it is floor (IsFloor)?
    Third - if you add vanilla tilesheet to your texture pack, then it will automatically make a second file "your_texture.pack" and "floors.your_texture.pack". The second file will have all the tilesheet named "floor_***.png". Maybe the answer is somewhere here.
     
  14. Like
    MopS got a reaction from inferjus in Latest TileZed, WorldEd, and Tilesets (May 17 2018)   
    You mean the tiles you created or new ones from 41 builds?
    In the first case, it is best to use this guide. 

    In the second case, pull them out manually from "D: \ Games \ steamapps \ common \ ProjectZomboid \ media \ texturepacks" one picture at a time and form tile sheets. The game must be updated to version 41.xx. Use TileZed-Tools-.packfiles - PackViewer.
  15. Spiffo
    MopS reacted to DiederikV in How to connect empty storage image with overlay image?   
    Soooo I figured this out.
    Ill try to explain it.

    1. Draw tiles
    2. Save tiles as .png file in: DRIVE:\Steam\steamapps\common\Project Zomboid Modding Tools\Tiles\2x
    3. Open Tiled
    4. Up top click tools -> Tilesets
    5. Click the "Add Tilesets" button In this new screen it should also direct to where step 2 is pointing.
    6. check the boxes for the new tilesets that you want to add to your map. (even for just adding tilesets I'd recomend adding them to a map for now) and press OK
    7. Good job, they should now be in the list. If you click on them they should show you the tileset
    8. close this screen

    Now you will need to give properties to your tile set
    9. Up top click tools -> Tile properties
    10. Here we are going to define what your tiles do in game. I'de recommend opening Tiled twice for the following
    11. Open the .tiles file that is in your DRIVE:\Steam\steamapps\common\Project Zomboid Modding Tools\Tiles by default. Mine was called "newtiledefinitions" This will be your reference
    12. In your other tiled also open the tile properties screen but now instead make a new file
    13. Click the + icon on the bottom and select your tilesets. (if you want to update this later it is important that you do not delete these sets if they are being used in maps/mods/whatever, the number will be different and it will break stuff)
    14. Click on the tile you want to give properties to, open the reference tiled and navigate to an object similar to the one you are adding
    15. copy the settings and change them to your need, most stuff is self explenatory
    16. sweet, now your tiles have properties.
    17. close the tile properties screen
    18. Go to tools -> .pack files -> create .pack file
    19. Fill in the required steps.


    Now we will need to create a mod for you to be able to load your items in-game
    Eventhough I have the game on steam and it has its own mod folder their for some reason where it loads my mods from is: DRIVE:\Users\Username\Zomboid\mods
    20. Copy the "examplemod" and name it whatever you want
    21. open the folder and open the "mod" .info
    22. change the name, ID, Description
    23. save and close the file
    24. In your media folder inside of your mod folder create a folder named "texturepacks" in here you will put the .pack file you created in step 19 (\Zomboid\mods\MODNAME\media\texturepacks)
    25. back in the media folder you will put the tile definition file
    26. Open up the "mod" .info file again in your main mod folder
    27. add the line "pack=THENAMEOFYOURTEXTURE.PACK FILE"

    Awesome, now we will need to fix the container overlay. You can fix this for yourself locally OR you can add it to the mod so that others can enjoy it as well.
    28. navigate to DRIVE:\Steam\steamapps\common\ProjectZomboid\media\lua\server\Items
    29. Here is a worldfiller.lua file, copy it
    30. past it in your mod folder in MODNAME\media\lua\server\items (the "server" and "items" folder does probably not exist yet, create those)
    31. Now open the worldfiller.lua file you just pasted there (I use notepad++, its free and easy to work with)
    32.Now afer opening this file there will be a bunch of lines, these are all the existing container overlays in the game. For as far as I experienced you will need to keep those in addition to what you will add. Upon loading your mod this file will be used instead of the default one. If you don't keep the existing stuff it will no longer work in your map

    Adding new things
    33. Now for example you have the line
    in here location_Shop_zippee_01 is the name of the texture that its refering to. the _11 after that is the position on the texture, simply counting left to right and then continue on the next layer. there are 2 links after that, one for when its full and when for when its partially full.  so "food_01_10" is when its full and "food_01_18" when it is partially full. 

    Now what you want to do is copy-paste this line and edit it so that it will use your own overlays on your own tiles.
    "overlayMap["ThisIsMyNewTileSetName_11"] = {{ name = "other", tiles = {"ThisIsMyNewOverlayName_10", "ThisIsMyNewOverlayName_01_18"} }, { name = "other", tiles = {"food_02_10", "food_02_18"} }}"


    I hope this helps
  16. Like
    MopS reacted to Kappatao in What is 'Corn' means?   
    There are some corn fields ingame. I'm  no programmer, but i'm pretty sure that refers to the corn in those fields, as they are "containers" that you can loot to simulate picking corn.
  17. Like
    MopS reacted to fcolley3 in Label Crates To Identify Contents   
    I love the fact that you can change the name of the duffel bags, school bags, etc. I would dearly love to be able to give labels to my crates. We can end up with soooo many crates, holding weapons, crafting supplies, gardening supplies, etc. It's easy to forget the overall contents of a crate and can be very time consuming checking each one to find the sledge hammer. It would be grate to give a name/label to each one that would help to quickly identify the contents. Thank you.
  18. Spiffo
    MopS reacted to terec the tec in [BUILDING] 2 story storage and factory.   
    2 STORY STORAGE AND FACTORY BUILDING
    The second floor is a small factory with an employees room, and the first contains the storage area and a small office/reception
    Downlod: factory.tbx
     
×
×
  • Create New...