x


Tool to make ONE flat sized mesh from a png/texture?

I have the very specific problem that I need to take an image, and then,

quickly create a flat mesh, two tris, and put the image on it and sized to it.

So that's a two-tri mesh, sized to the actual image portion and spun correctly, etc.

If anyone knows of a tool that does this, thanks!!

This is NOT for use in the GUI layer nor on a 2.5D stage solution. It is for use in a normal 3D scene.

Actually it sounds like there is NOT such a tool in the asset store -- which probably makes sense as it seems like a pretty specific use case.

more ▼

asked May 03 '12 at 05:54 PM

Fattie gravatar image

Fattie
19.1k 58 87 148

(comments are locked)
10|3000 characters needed characters left

4 answers: sort voted first

Just FTR there is NOT such a tool in the asset store -- which probably makes sense as it seems like a pretty specific use case.

Simply use 2DTooljit (or any competitor) and make just the one item. There's no "lighter solution" around.

more ▼

answered Jun 23 '12 at 09:33 PM

Fattie gravatar image

Fattie
19.1k 58 87 148

(comments are locked)
10|3000 characters needed characters left

I just read your comments and even after your long phrased question you still haven't mentioned any auto-alignment or auto-fitting. If you need something like that why don't use use one of those packages like the spritemanager? People usually invent toolkits or tools to be used in many situations. Most the time you need more than one sprite. You said the plane that comes with Unity is bad (due to 121 verts and 200 tris so you want a 2 tris mesh). If you worry about the tris why don't you use the spritemanager then? For example 4 such sprites with seperate renderers will produce 4 drawcalls. The tris isn't that important. It's the fact that each of them need a renderer. That's why those toolkits pack all sprites into one mesh so it just needs one drawcall.

If you really need exactly one of these sprites, you can just use the plane mesh in Unity, import a 2 tris mesh from your favourite model app or create it procedural.

If you attach the following script to an empty gameobject it will create a 1x1 mesh along the x-y plane, so it's facing toward positive z (forward) axis.

//C#
using UnityEngine;
using System.Collections;

public class Quad : MonoBehaviour {
    public Material material;
    void Start() {
        gameObject.AddComponent<MeshRenderer>().material = material;
        Mesh mesh = gameObject.AddComponent<MeshFilter>().mesh;
        mesh.Clear();
        mesh.vertices = new Vector3[] {new Vector3(-0.5f, 0, -0.5f), new Vector3(0.5f, 0, -0.5f), new Vector3(0.5f, 0, 0.5f), new Vector3(-0.5f, 0, 0.5f)};
        mesh.uv = new Vector2[] {new Vector2(0, 0), new Vector2(0, 1), new Vector2(1, 1), new Vector2(1, 0)};
        mesh.triangles = new int[] {0, 1, 2,  2, 3, 0};
    }
}

To rotate an object towards another object (if noone is given it will choose the main camera), just attach this script:

//C#
using UnityEngine;
using System.Collections;

public class LookAt : MonoBehaviour {
    public Transform target;
    void Start() {
        if (target == null && Camera.main != null)
            target = Camera.main.transform;
    }
    void LateUpdate() {
        if (target == null) return;
        transform.LookAt(target);
    }
}

Now you have a 2 tris quad mesh which will automatically rotate itself towards the camera or towards any given object.

more ▼

answered May 05 '12 at 01:19 PM

Bunny83 gravatar image

Bunny83
45.5k 11 49 207

I think what they're trying to say is that no, it doesn't exist in a package you can just download or buy or find on the wiki because there are a number of ways to accomplish it, most of which would involve building the tools yourself if you don't want to do things manually (via 3D app or just dragging it on and resizing it).

While yes, it seems like something that someone would have already built and put out there, but at the same time, it's so simple that most people wouldn't see the value in taking the time to build it and package it up and throw it on the asset store (for example) because there are a number of ways (code and non-code) to accomplish the same result and existing toolkits (like SpriteManager) are available to do this and much more, because this typically wouldn't be used on it's own.

May 05 '12 at 02:16 PM Greg Dunn
(comments are locked)
10|3000 characters needed characters left

Just use a GUITexture?

more ▼

answered May 04 '12 at 09:06 AM

Eric5h5 gravatar image

Eric5h5
80.3k 42 132 521

:D I love this short answers

May 04 '12 at 09:15 AM Bunny83

It's really short in Unity too... 1) Click on desired texture. 2) Select GameObject -> Create Other -> GUI Texture. Bam! Sprite!

May 04 '12 at 07:18 PM Eric5h5

Hi Eric, thanks for that, however I don't want a texture for use in Unity's GUI.

I just want pretty much what it says: a 2-tri mesh (for use in the normal 3d world) with the texture fitted to it. Exactly like 2DToolkit's runtime provides, say, but just a one-off.

May 05 '12 at 09:40 AM Fattie
(comments are locked)
10|3000 characters needed characters left

What do you mean, turn one image into a sprite?

A sprite IS an image...if you want it animated you have multiple versions of the same object on the sprite(sheet), but it is still just an image. There is no difference between a texture and a sprite.

more ▼

answered May 03 '12 at 06:17 PM

Piflik gravatar image

Piflik
5.4k 15 26 44

Create a plane, create a material, put texture into material, put material on the plane (not necessarily in that exact order). You need an automatism for that?

May 03 '12 at 06:52 PM Piflik

Sure you can do it manually. Also you don't have to use a 2-tri mesh, it's just better, and you don't have to run an algorithm. You can just stick a texture on a plane and there's your sprite.

May 04 '12 at 09:07 AM Eric5h5

Finding the correct aspect ratio should be easy, too. Textures should be power of 2 anyway, so they would either be square, or rectangular with a 1:2, 1:4, 1:8, etc aspect ratio.

May 04 '12 at 11:16 AM Piflik

E, yes 2-tri is what I need. You can't do rotation fitting manually, (other than just by eye).

May 05 '12 at 09:46 AM Fattie
(comments are locked)
10|3000 characters needed characters left
Your answer
toggle preview:

Up to 2 attachments (including images) can be used with a maximum of 524.3 kB each and 1.0 MB total.

Follow this question

By Email:

Once you sign in you will be able to subscribe for any updates here

By RSS:

Answers

Answers and Comments

Topics:

x2209
x1366
x215
x62
x15

asked: May 03 '12 at 05:54 PM

Seen: 1204 times

Last Updated: Jun 23 '12 at 09:33 PM