Giter Club home page Giter Club logo

proceduraltoolkit's People

Contributors

basmanovdaniil avatar davidfidge avatar lazymammal avatar stevenvergenz avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

proceduraltoolkit's Issues

Implement Draw.WirePolygon

Create the following methods and appropriate overloads for DebugE, GizmosE and GLE:
WirePolygon(List<Vector3>)
WirePolygonXY(List<Vector2>)
WirePolygonXZ(List<Vector2>)
WirePolygonYZ(List<Vector2>)

Geometry: 2D Point-Line

  • Distance
  • Distance tests
  • Closest point
  • Closest point tests
  • Intersection
  • Intersection tests

Geometry: 2D Line-Line

  • Distance
  • Distance tests
  • Closest point
  • Closest point tests
  • Intersection
  • Intersection tests

Geometry: 2D Line-Ray

  • Distance
  • Distance tests
  • Closest point
  • Closest point tests
  • Intersection
  • Intersection tests

Implement Draw.WirePolyline

Create the following methods and appropriate overloads for DebugE, GizmosE and GLE:
WirePolyline(List<Vector3>)
WirePolylineXY(List<Vector2>)
WirePolylineXZ(List<Vector2>)
WirePolylineYZ(List<Vector2>)

MeshDraft.FlatRevolutionSurface throws ArgumentOutOfRangeException with generateUV = false

Both lowerRingUV and upperRingUV are empty:

var draft = new MeshDraft {name = "Flat revolution surface"};
for (int y = 0; y < ringsVertices.Count - 1; y++)
{
var lowerRingVertices = ringsVertices[y];
var upperRingVertices = ringsVertices[y + 1];
var lowerRingUV = ringsUV[y];
var upperRingUV = ringsUV[y + 1];
for (int x = 0; x < horizontalSegments; x++)
{
Vector3 v00 = lowerRingVertices[x + 1];
Vector3 v01 = upperRingVertices[x + 1];
Vector3 v11 = upperRingVertices[x];
Vector3 v10 = lowerRingVertices[x];
Vector2 uv00 = lowerRingUV[x + 1];
Vector2 uv01 = upperRingUV[x + 1];
Vector2 uv11 = upperRingUV[x];
Vector2 uv10 = lowerRingUV[x];
draft.AddQuad(v00, v01, v11, v10, true, uv00, uv01, uv11, uv10);
}
}
return draft;

Saving Generated Objects as Assets

Hi Syomus,

Thank you for such a great Unity tool. I was hoping that you could explain how to save the objects that I have generated in ProceduralToolkit so I can use them in any scene.

Thanks in advance for your response.

Cheers - Chapmania

Mesh collider for low poly terrain?

Experimenting with the low poly terrain example, I've added a mesh collider to the "TerrainGenerator" object, as well as a test player to the scene. It appears that the mesh collider is doing something, in that my player isn't falling infinitely, but it's clear that the mesh collider doesn't match the actual rendered "terrain" - my player is essentially up its head, as I walk around the terrain does vary in height, but I soon fall through.

I hoped you might have an idea what could be causing this before I go digging in and debugging.

Building Geometry a mess in Unity 2018.1.0b13

Vertices are all over the place, building is destroyed.

Bug report

Faces are flipped, polys drawn to wrong points?
failproceduralbuilding

Steps to reproduce

Run the Buildings scene, witness the destruction.

Building generator not working in 2017.4.0f1 Personal

The building generator is producing lots of noise as can be seen in the image below.

image

Bug report

Building generator is creating correct size buildings but they are not neatly rendered.

Version

  • Unity: 2017.4.0f1 Personal
  • ProceduralToolkit: 0.2.0 (installed from asset store)

Steps to reproduce

  1. Open Buildings scene
  2. Scene looks OK in the editor
  3. Hit play
  4. Generated building looks like the image above (in both Game window and Editor window)
  5. Adjusting parameters changes building correctly by length, width, floors etc. but similar issues are seen in all cases

Feature request

Behaviour as seen at http://syomus.com/ProceduralToolkit/Buildings is the goal

Question

Depending on whether I find something else suitable I may be willing to try to debug this. However, I'm no Unity expert and have not looked at the code here yet. Any pointers as to what might be wrong will help me (or someone else) should I decide to take a look.

Licensing

One thing that might help people who want to use the toolkit is if you explicitly include an open-source license, such as the MIT license. That way, most of the legal questions people might have are already covered, and people will hopefully feel more confident about submitting code to be included.
(If you haven't checked it out before http://choosealicense.com/ is useful.)

Add Boids Predators ?

Hello,
i just download procedural tool kit, i have to make a group of fishs, they must avoid predators.
I wan't to use boids for that i started to check your boids exemples, how can i introduce predators for the group of objects. I really don't know where to start.

Thanks you

Geometry: 2D Point-Ray

  • Distance
  • Distance tests
  • Closest point
  • Closest point tests
  • Intersection
  • Intersection tests

Add missing Geometry algorithms

https://github.com/Syomus/ProceduralToolkit/wiki/Geometry-algorithms
http://www.realtimerendering.com/intersections.html

D - Distance
C - Closest point(s)
I - Intersection

2D Line Ray Segment Circle2
Point D, C, I D, C, I D, C, I D, C, I
Line D, C, I D, C, I D, C, I D, C, I
Ray D, C, I D, C, I D, C, I
Segment D, C, I D, C, I
Circle2 D, C, I
3D Line Ray Segment Sphere Circle3
Point D, C, I D, C, I D, C, I D, C, I -
Line I - - D, C, I -
Ray - - D, C, I -
Segment - D, C, I -
Sphere D, C, I -
Circle3 -

Add a uvmap for MeshDraft.Dodecahedron

All other primitives have a more or less sensible uvmap, Dodecahedron should have one too. Also, it will have to be constructed in some other way, AddFlatTriangleBand is not very convenient in this case.

public static MeshDraft Dodecahedron(float radius)
{
const float magicAngle1 = 52.62263590f;
const float magicAngle2 = 10.81231754f;
const float segmentAngle = 72;
float lowerAngle = 0;
float upperAngle = segmentAngle/2;
var lowerCap = new Vector3[5];
var lowerRing = new Vector3[5];
var upperCap = new Vector3[5];
var upperRing = new Vector3[5];
for (var i = 0; i < 5; i++)
{
lowerCap[i] = Geometry.PointOnSphere(radius, lowerAngle, -magicAngle1);
lowerRing[i] = Geometry.PointOnSphere(radius, lowerAngle, -magicAngle2);
upperCap[i] = Geometry.PointOnSphere(radius, upperAngle, magicAngle1);
upperRing[i] = Geometry.PointOnSphere(radius, upperAngle, magicAngle2);
lowerAngle += segmentAngle;
upperAngle += segmentAngle;
}
var draft = new MeshDraft {name = "Dodecahedron"}
.AddTriangleFan(upperCap, Vector3.up)
.AddFlatTriangleBand(upperRing, upperCap, false)
.AddFlatTriangleBand(lowerRing, upperRing, false)
.AddFlatTriangleBand(lowerCap, lowerRing, false)
.AddTriangleFan(lowerCap, Vector3.down, true);
return draft;
}

Implement Draw.WireCircleSector

Create the following methods and appropriate overloads for DebugE, GizmosE and GLE:
WireCircleSectorXY(Vector3 position, float radius)
WireCircleSectorXY(Vector3 position, Quaternion rotation, float radius)
WireCircleSectorXZ(Vector3 position, float radius)
WireCircleSectorXZ(Vector3 position, Quaternion rotation, float radius)
WireCircleSectorYZ(Vector3 position, float radius)
WireCircleSectorYZ(Vector3 position, Quaternion rotation, float radius)

Geometry: 2D Ray-Ray

  • Distance
  • Distance tests
  • Closest point
  • Closest point tests
  • Intersection
  • Intersection tests

SDF: Easing example is broken in the WebGL build

Easing example doesn't work in the current WebGL build.

Steps to reproduce

  1. Open the WebGL build page
  2. Select "Easing"

Note: Creation of internal variant of shader 'Procedural Toolkit/Examples/Easing' failed.
WARNING: Shader
Unsupported: 'Procedural Toolkit/Examples/Easing' - Pass '' has no vertex shader

How to use the toolkit to create procedural terrain generation?

Hi there,
your toolkit looks really good. I'm actually struggling trying to find a way to procedural generate a 3d low poly terrain for a game I'm developing. I'm new to all these concepts and I would appreciate a guide/direction/tutorial from you on how to integrate the script with Unity3D. Do i need to attach the script to a 'terrain' object in Unity? I need to generate a new terrain every time the game starts a place prefabs on it. Unfortunately there is no too much documentation.

I would appreciate any help. Thanks!

Documentation

In the version history for v0.1.1, it says "improved documentation", but I can't find the documentation anywhere. Is it still available?

Thank you!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.