Tag Info

Hot answers tagged

20

The Simple Way Add a quad which connects adjacent slices to each other. Texture this with a nice, melted cheese texture, complete with holes. As the slice is moved away the quad will naturally be stretched and thus stretch and skew the texture. This should look reasonable, although there will be no break. What to do here is make that texture an animated ...


13

For items that are carried by the character like a sword, shield or similar, you can create a special hand-bone, where you attach the new item/geometry at runtime. When it comes to different armors/clothing, this is going to be slightly more complicated. An approach that is widely used (I think also by WoW) is using segmented models: You model your ...


13

You can't. All right, that was a bit harsh. Let me illustrate this with two examples. Let's get outside of the computer graphics world. Suppose you are given a piece of paper with the texture you gave us printed on it. There's a faintly printed millimeter grid in the paper as well. Now you get some scissors and some paste, and your task is to make a ...


11

Blender is great if you know how to use it. (I suppose you mean as a modeling software, not the GE) Here's some reasons: It can export to many file formats out of the box, and many you can find, and many you can write your own scripts for importing You can usually find a lot of free models to build on or use as placeholders It's free (as in speech) Due to ...


10

Every "UV seam" in your model - that is, every place where the model's faces are continuous while the UV map for the same edge is cut up - is a problem both for the artists and for the hardware. It makes it harder to texture the model properly. This is especially true when the editing is done on the texture directly, in 2D, not in a 3D painting program. ...


9

I usually keep my own format internally, and a standardised format externally. The artist only sees the standard format and my engine can only load the optimized internal format. This way you won't have to have model loading code in engine, it can all be done in some nice high level language as a compile step. I usually use a existing build system that ...


9

There are a few things to consider here. The first is that a face is not necessarily rotated just because its normal is not aligned with an axis. The second is that you can't obtain Euler angles (x,y,z rotations) from just a normal. You would need to know at least 2 non collinear vectors to do that as you need three perpendicular vectors (a basis in R3) to ...


9

It's just tradition. Neither system is objectively better than the other, so you just have to get used to using both and switching between them from time to time! Right-handed coordinates are traditional for modelling where one imagines the XY-plane to be horizontal, and the Z-axis to be vertical. Left-handed coordinates are traditional for cameras where ...


9

As you already noticed, there's no way around UV coordinates for games. Thankfully, blender comes with some very good UV unwrapping tools. The simplest way to get UV coordinates from a 3D model in blender is to use Smart UV Project. You can do that by pressing U while in edit-mode and then select "Smart UV Project" from the menu. This creates UV "patches" ...


9

I am assuming your intention is to use this normal map in a game, as it was explained in other comments, you most likely don't want world space normals since they only work for a fixed world. Your problem with tangent normal baking is that you don't have a mesh with less detail to bake the map to. This is how you do it: 1 - Create a lower-res version of ...


8

@Michael directed me to an excellent resource for exporting bones from Blender. It provides all the information I needed. It's actually already built into Blender, it's the DirectX Model Format. Go to user preferences, addon section, "Import-Export" category and install "DirectX Model Format (.x)". Then use File->Export to select the newly added format. ...


8

On each object you will choose one or more faces that will be removed. In between these faces will be your connection. Select both objects in object mode. Press Ctrl+J to join the objects into one. Then enter edit mode and change to face manipulation mode. Remove the faces that will be joined. Select them and press X, remember to delete faces, not ...


7

The best way in my opinion is to write your own parser for .obj exported with Blender or your preferred 3D modeling software. It will really only take you a maximum of one hour and you won't have to worry about distribution/licence issues. Here is a video about this question: http://youtu.be/izKAvSV3qk0.


7

I'm currently working on a similar system. Procedural animation + dismemberment etc. How do I define animations to know which ones are allowed give the current state of the body (missing arms/legs and so on)? I don't quite follow this bit, if the limbs aren't there, then who cares if it's being animated or not, because it can't be seen. Does each ...


7

My suggestion is honestly just to find a format that Blender will export its bones as well, and then look through the script of that format exporter. I was doing something similar and realized how much of a pain it was to find a good resource on exporting bones. But here's this specification that helped me a lot, on armature modules


7

From the no-texture picture, I'm pretty sure the problem is that your cube models have inappropriate normals. You need to tell Blender that your cube edges are intended to be sharp, not smooth — what you have now are cubes that are acting like six-sided approximations of spheres. I don't know Blender so I can't tell you exactly how to accomplish this, but ...


6

My first (successful) Blender modeling-from-reference-images experience came from the fantastically useful Blender Noob-to-Pro wiki. The fox modeling exercise not only supplies the images for you, but gave me some ideas about how I could combine household items and my phone's camera to produce my own reference images - since I'm not patient enough right now ...


6

Two big reasons are making sense of the unwrapped texture and edge artifacts. As you mentioned, it can be very difficult for an artist to make sense of how their 2D edits will wrap around the 3D model if the seams don't make sense. In the case where every face was separated and optimally placed with some kind of bin packing algorithm, it would be nearly ...


6

The build-in physics engine assumes 1 BU (Blender Unit) = 1 meter. However, you can use whatever you like, and since Blender 2.5 you can also set an explicit conversion to real-world units (properties editor -> scene tab -> units panel). Keep in mind what kind of values your game engine expects, too - most exporters can re-scale the model during the export ...


6

First, ok-to-good question. Definitely not a bad question. To answer it, you just have to know what a shader is and why you need one. A shader is exactly what it sounds like - it "shades" vertices and pixels different colors. "Shading" isn't just "making it darker" (as the technical artistic term means I believe), it's application of textures, lighting, ...


6

You need to implement either something like bones or morphs. As stephelton suggests, a WebGL framework would make this easier. Since you're using Blender, how about using three.js ? It already has a Blender exporter and there is also a python script to convert objs to the json format the framework uses, in case you need to use other applications. Among ...


5

Mentioned many times on the topic of 3d model loading, AssImp is a very easy to use library that reads both .blend and COLLADA files as well as many other formats. You can use it to load models directly into your engine or use it as a conversion tool to convert to your own internal format. I think it would be a good library that suits your needs.


5

The programming language doesn't matter for this purpose. You just need to get your model data from Blender into your application, which is possible by using one of the various export formats that Blender offers. Of course all models you create in Blender must be suitable for real-time rendering, i.e. their polygon count should be decent and their materials ...


5

Downvote me if I am wrong, but I don't see why people are recommending swapping y and z. That would make your coordinate system from being right handed to left handed. Try this yourself, swap the y and z, and reorient the axis so that x points right and y points up. You will see that z points the opposite direction from its original (away from the screen). ...


5

It looks like your vertex normals might be messed up. Each vertex's normals should be perpendicular to its face (parallel with the face normals that your wireframe image shows), and you'll need separate vertices for the corners, one for each face that meets at a corner.


5

Depending on your budget, you could try contacting professional 3D artists at sites dedicated to 3D art. Two big ones are: Daz3D Renderosity There's also a "Renderotica" for more naughty stuff, but I'm not going to link it here ... A cheaper variant could be looking through modding sites for games for both art and artists. Two I can recommend are: Mod ...


5

In Blender 2.5 and later, select the face or edge you want to measure in Edit Mode, and turn on the Properties shelf by pressing 'N'. In here, scroll to Mesh Display > Numerics. You can select to display the edge length and the face area of the faces. To get the size of an entire object, the Properties shelf in Object Mode will list the X, Y and Z ...


5

Your best option is to cut off the limbs and use multiple submodels depending of the current state of the wounds. Your approach of using a VBO per keyframe is just overkill; use a skeletal animation system and play different animations depending of the damage received (limping with one leg, crawling without the two legs, etc). Valve published a good set of ...


5

The canonical middleware for loading and manipulating FBX data in C++ would likely be the official FBX SDK from Autodesk.


5

Alright, found my issue. Not sure if this applies to OpenGL but for my DirectX application I needed to invert the v coordinate for sampling the texture. u = u v = 1 - v;



Only top voted, non community-wiki answers of a minimum length are eligible