# A Low-Poly Creation

**URL:** https://forum.babylonjs.com/t/a-low-poly-creation/8494
**Category:** Demos and projects
**Created:** [February 10, 2020, 4:18pm UTC](https://forum.babylonjs.com/t/a-low-poly-creation/8494 "2020-02-10T16:18:53Z")
**Posts on this page:** 20
**Page:** 1

<div class="post-metadata">

### Author: ![gryff](https://sea2.discourse-cdn.com/flex024/user_avatar/forum.babylonjs.com/gryff/32/1855_2.png) [@gryff](https://forum.babylonjs.com/u/gryff)
#### Post date: [February 10, 2020, 4:18pm UTC](https://forum.babylonjs.com/t/a-low-poly-creation/8494/1 "2020-02-10T16:18:53Z")

</div>

When I started using Blender 2.8, I had a little trouble - which seemed to relate to a number of issues that included, in no specific order: 1. getting past right clicking to Select things, 2: finding out where stuff had been hidden, 3. new names for functionality, 4. my age and instincts, 5. buggy versions that I seemed to download (finally using Blender 2.81a).

Anyway, to solve these issues a started following YT tutorials and ran across a gentleman called Grant Abbitt who has quite a few Blender 2.80 tutorials, and is a teacher and freelance Blender artist. Chatting with Grant, led him to send me a file from [a series of YT videos about creating low poly game models](https://www.youtube.com/watch?v=DcwSxQYXDSA&list=PLn3ukorJv4vul0BmORcWYNOVi3nnna-M4). This I converted for use with BJS :

\*\*\* Don’t use this link as there seems to be a timing issue with Chrome \*\*\*

Both links should now work in Firefox and Chrome. The first one I have now added a viewable title and an fps box. Hope to add more -soon!

[The Bridge](http://www.3dworlds.ca/bridge/index.html)

Try this instead - now same as above but no title, and fps box

[Bridge 2](http://www.3dworlds.ca/bridge/index4.html)

It uses _instances_ for plants and the parts of the bridge, and _backface culling_ is turned off for the plants.

The textures are large, and could easily be reduced, but were hand painted by Mr. Abbitt so I left them alone for now.

cheers, gryff 🙂

---

<div class="post-metadata">

### Author: ![Evgeni\_Popov](https://sea2.discourse-cdn.com/flex024/user_avatar/forum.babylonjs.com/evgeni_popov/32/4432_2.png) [@Evgeni\_Popov](https://forum.babylonjs.com/u/Evgeni_Popov)
#### Post date: [February 10, 2020, 4:25pm UTC](https://forum.babylonjs.com/t/a-low-poly-creation/8494/2 "2020-02-10T16:25:03Z")

</div>

I get this error in Chrome:  
 ![image](https://us1.discourse-cdn.com/flex024/uploads/babylonjs/original/2X/4/4f4012687307ef57261bd36968ea2b1a8e6e3525.png)

It does work in Firefox: very nicely done!

---

<div class="post-metadata">

### Author: ![Evgeni\_Popov](https://sea2.discourse-cdn.com/flex024/user_avatar/forum.babylonjs.com/evgeni_popov/32/4432_2.png) [@Evgeni\_Popov](https://forum.babylonjs.com/u/Evgeni_Popov)
#### Post date: [February 10, 2020, 4:26pm UTC](https://forum.babylonjs.com/t/a-low-poly-creation/8494/3 "2020-02-10T16:26:55Z")

</div>

Regarding the error in Chrome:

It must be an asynchronous problem somewhere, as sometimes I only see the grass, and some other times (after refreshing), I can see the grass + water. One time I saw grass + water + bridge.

---

<div class="post-metadata">

### Author: ![gryff](https://sea2.discourse-cdn.com/flex024/user_avatar/forum.babylonjs.com/gryff/32/1855_2.png) [@gryff](https://forum.babylonjs.com/u/gryff)
#### Post date: [February 10, 2020, 4:32pm UTC](https://forum.babylonjs.com/t/a-low-poly-creation/8494/4 "2020-02-10T16:32:57Z")

</div>

Thanks for the report @Evgeni_Popov. It works fine in Firefox, as you say, and worked fine in Chrome on a Samsung S4 phone.

Any suggestions about what the issue might be - I am not the world’s best coder 😉

cheers, gryff 🙂

---

<div class="post-metadata">

### Author: ![gryff](https://sea2.discourse-cdn.com/flex024/user_avatar/forum.babylonjs.com/gryff/32/1855_2.png) [@gryff](https://forum.babylonjs.com/u/gryff)
#### Post date: [February 10, 2020, 4:57pm UTC](https://forum.babylonjs.com/t/a-low-poly-creation/8494/5 "2020-02-10T16:57:19Z")

</div>

I get your error message In Windows 10/Chrome(v79) too - but it works **sometimes** when I hit the refresh button … ? (see image below)

All thoughts welcome …

cheers, gryff 🙂  
 ![bridge](https://us1.discourse-cdn.com/flex024/uploads/babylonjs/original/2X/a/a7999f67c19eaea9f78e819cf3be836d8f1c42cb.png)

---

<div class="post-metadata">

### Author: ![Evgeni\_Popov](https://sea2.discourse-cdn.com/flex024/user_avatar/forum.babylonjs.com/evgeni_popov/32/4432_2.png) [@Evgeni\_Popov](https://forum.babylonjs.com/u/Evgeni_Popov)
#### Post date: [February 10, 2020, 6:54pm UTC](https://forum.babylonjs.com/t/a-low-poly-creation/8494/6 "2020-02-10T18:54:42Z")

</div>

Unfortunately, such bugs are hard to find with a repro, but without one it does seem just impossible…

The `getAttributeLocation` method is from the `effect` class:

```auto
public getAttributeLocation(index: number): number {
        return this._attributes[index];
    }

```

So `this._attributes` is undefined when the bug pops up.

This property is set in the callback function called by `engine._executeWhenRenderingStateIsCompiled` (which itself is called in `Effect._prepareEffect`).

So it seems we end up calling `getAttributeLocation` too early, before `engine._executeWhenRenderingStateIsCompiled` has been able to call the callback.

A wild guest is that `_renderWithInstances` calls `bind` too soon, before the effect has been fully setup / is ready…

Digging a bit:

In `Mesh.render`, we have:

```auto
if (material._storeEffectOnSubMeshes) {
    if (!material.isReadyForSubMesh(this, subMesh, hardwareInstancedRendering)) {
        return this;
    }
} else if (!material.isReady(this, hardwareInstancedRendering)) {
    return this;
}

```

If `material._storeEffectOnSubMeshes` is false, we check `material.isReady()` instead of `isReadyForSubMesh()`.

But `isReady()` just returns `true`.

So, try to see if `_storeEffectOnSubMeshes` is false for some of your materials, and if yes it could be a clue to find the problem.

---

<div class="post-metadata">

### Author: ![gryff](https://sea2.discourse-cdn.com/flex024/user_avatar/forum.babylonjs.com/gryff/32/1855_2.png) [@gryff](https://forum.babylonjs.com/u/gryff)
#### Post date: [February 10, 2020, 7:57pm UTC](https://forum.babylonjs.com/t/a-low-poly-creation/8494/7 "2020-02-10T19:57:37Z")

</div>

TY @Evgeni_Popov . I had figured out it was some kind of timing issue (particularly those large textures) - so I started hacking with the code.

Anyway try this - works in Windows 10/Chrome and Firefox for me [Bridge2](http://www.3dworlds.ca/bridge/index4.html).

As I don’t have a phone right - not tried it in Chrome on the Samsung 4.

Hope you see some improvement

cheers, gryff 🙂

---

<div class="post-metadata">

### Author: ![JCPalmer](https://sea2.discourse-cdn.com/flex024/user_avatar/forum.babylonjs.com/jcpalmer/32/42_2.png) [@JCPalmer](https://forum.babylonjs.com/u/JCPalmer)
#### Post date: [February 10, 2020, 8:31pm UTC](https://forum.babylonjs.com/t/a-low-poly-creation/8494/8 "2020-02-10T20:31:51Z")

</div>

Too bad you really need a wnidows or maybe OSX tablet to do workable hand painting. My tablets are not going to run Blender (Android & iOS). At least, that’s going to be my excuse.

Seems like this is a good use of std materials. Would be interesting to see what a PBR export, with the studio env looks like, if you have the time.

BTW, saw stuff in the first 30 seconds of tutorial, I did not know.

---

<div class="post-metadata">

### Author: ![gryff](https://sea2.discourse-cdn.com/flex024/user_avatar/forum.babylonjs.com/gryff/32/1855_2.png) [@gryff](https://forum.babylonjs.com/u/gryff)
#### Post date: [February 10, 2020, 9:02pm UTC](https://forum.babylonjs.com/t/a-low-poly-creation/8494/9 "2020-02-10T21:02:51Z")

</div>

@JCPalmer : Well I will see where it goes, Jeff. I had one of my network computers crash - still trying to dig my way out of that

> [@JCPalmer](#):
>
> BTW, saw stuff in the first 30 seconds of tutorial, I did not know.

Well he does some good tutorials, as I have said before, though he tends to spend a lot of time on painting and sculpting (which can be quite hi-poly). So I thought he might like a bit of promotion 🙂

As for the tablets, he has quite an expensive one I think.

cheers, gryff 🙂

---

<div class="post-metadata">

### Author: ![Evgeni\_Popov](https://sea2.discourse-cdn.com/flex024/user_avatar/forum.babylonjs.com/evgeni_popov/32/4432_2.png) [@Evgeni\_Popov](https://forum.babylonjs.com/u/Evgeni_Popov)
#### Post date: [February 10, 2020, 9:49pm UTC](https://forum.babylonjs.com/t/a-low-poly-creation/8494/10 "2020-02-10T21:49:22Z")

</div>

Yes, it does now work in Chrome for me!

---

<div class="post-metadata">

### Author: ![gryff](https://sea2.discourse-cdn.com/flex024/user_avatar/forum.babylonjs.com/gryff/32/1855_2.png) [@gryff](https://forum.babylonjs.com/u/gryff)
#### Post date: [February 10, 2020, 9:53pm UTC](https://forum.babylonjs.com/t/a-low-poly-creation/8494/11 "2020-02-10T21:53:08Z")

</div>

@Evgeni_Popov : TY for your suggestions … and glad it now works 🙂

Now for a little cleanup - coding never seems to end 😐

cheers, gryff 🙂

---

<div class="post-metadata">

### Author: ![Deltakosh](https://sea2.discourse-cdn.com/flex024/user_avatar/forum.babylonjs.com/deltakosh/32/26635_2.png) [@Deltakosh](https://forum.babylonjs.com/u/Deltakosh)
#### Post date: [February 10, 2020, 9:53pm UTC](https://forum.babylonjs.com/t/a-low-poly-creation/8494/12 "2020-02-10T21:53:42Z")

</div>

> [@gryff](#):
>
> coding never seems to end

That’s why we love it ;D

---

<div class="post-metadata">

### Author: ![gryff](https://sea2.discourse-cdn.com/flex024/user_avatar/forum.babylonjs.com/gryff/32/1855_2.png) [@gryff](https://forum.babylonjs.com/u/gryff)
#### Post date: [February 11, 2020, 5:44am UTC](https://forum.babylonjs.com/t/a-low-poly-creation/8494/13 "2020-02-11T05:44:42Z")

</div>

> [@Deltakosh](#):
>
> That’s why we love it ;D

Some people do. To me it just gets worse - different browsers, OSs, devices of all kinds. From mice to fingers, and screens of all kinds.

Seems like a short road to the madhouse sometimes 😁

cheers, gryff 🙂

---

<div class="post-metadata">

### Author: ![Vinc3r](https://sea2.discourse-cdn.com/flex024/user_avatar/forum.babylonjs.com/vinc3r/32/25340_2.png) [@Vinc3r](https://forum.babylonjs.com/u/Vinc3r)
#### Post date: [February 11, 2020, 10:58am UTC](https://forum.babylonjs.com/t/a-low-poly-creation/8494/14 "2020-02-11T10:58:19Z")

</div>

Nice tiny scene 🙂

Did you made the texture painting right inside Blender?

Little feedback:

- I noticed space chars in texture file name 😱
- is the island border edges using sharp shading? it looks smoothed and maybe made them sharper could looks great? (don’t know)
- I think playing a bit with water specular could add a life feeling, and animating the uv offset may be worth it 😉

---

<div class="post-metadata">

### Author: ![gryff](https://sea2.discourse-cdn.com/flex024/user_avatar/forum.babylonjs.com/gryff/32/1855_2.png) [@gryff](https://forum.babylonjs.com/u/gryff)
#### Post date: [February 11, 2020, 11:48am UTC](https://forum.babylonjs.com/t/a-low-poly-creation/8494/15 "2020-02-11T11:48:39Z")

</div>

Thanks @Vinc3r 🙂 It is not my file - as I pointed out above, it was created by Grant Abbitt, and the textures are all hand-painted so not tileable. I had the same thought about animating it 😉

The files are exactly as Grant gave them to me - and I think the textures are a little bit large. But his files - so I minimized any changes (basically renaming all the “cubes” so I knew what was what. ) .

Just meant to show him what could be done - though he has a whole collection of low poly stuff that he made for the [Atlas Empires](https://www.atlasempires.com/) game that will be coming out sometime between March and May.

[Atlas Empires video.](https://www.youtube.com/watch?time_continue=3&v=5K9gtDJm6r8&feature=emb_logo)

And I get old - just me trying to encourage young guys 🙂

cheers, gryff 🙂

---

<div class="post-metadata">

### Author: ![Vinc3r](https://sea2.discourse-cdn.com/flex024/user_avatar/forum.babylonjs.com/vinc3r/32/25340_2.png) [@Vinc3r](https://forum.babylonjs.com/u/Vinc3r)
#### Post date: [February 11, 2020, 1:04pm UTC](https://forum.babylonjs.com/t/a-low-poly-creation/8494/16 "2020-02-11T13:04:02Z")

</div>

Erf ok i was misreading indeed (i’ve understood that’s you’ve made this scene following a tutorial from Grant 👀)

---

<div class="post-metadata">

### Author: ![gryff](https://sea2.discourse-cdn.com/flex024/user_avatar/forum.babylonjs.com/gryff/32/1855_2.png) [@gryff](https://forum.babylonjs.com/u/gryff)
#### Post date: [February 11, 2020, 4:37pm UTC](https://forum.babylonjs.com/t/a-low-poly-creation/8494/17 "2020-02-11T16:37:08Z")

</div>

I have now added a little music to the first link. Mr. Abbit seems pleased.

@Vinc3r : don’t worry. I used his tutorials to try to figure out what was going wrong (I was having to Shift + Left Click to select objects 🙃 and trying to figure out where stuff was hidden. Blender 2.81a solved most of my problems though. I must have picked some real buggy downloads ☹

cheers, gryff 🙂

---

<div class="post-metadata">

### Author: ![aFalcon](https://sea2.discourse-cdn.com/flex024/user_avatar/forum.babylonjs.com/afalcon/32/7015_2.png) [@aFalcon](https://forum.babylonjs.com/u/aFalcon)
#### Post date: [February 11, 2020, 8:15pm UTC](https://forum.babylonjs.com/t/a-low-poly-creation/8494/18 "2020-02-11T20:15:00Z")

</div>

LIKE! “Hand-painted” is great. Thanks for sharing @gryff.

---

<div class="post-metadata">

### Author: ![gryff](https://sea2.discourse-cdn.com/flex024/user_avatar/forum.babylonjs.com/gryff/32/1855_2.png) [@gryff](https://forum.babylonjs.com/u/gryff)
#### Post date: [February 26, 2020, 9:27pm UTC](https://forum.babylonjs.com/t/a-low-poly-creation/8494/19 "2020-02-26T21:27:42Z")

</div>

@aFalcon : NP. It is interesting to watch his hand painting tuts.

cheers, gryff 🙂

---

<div class="post-metadata">

### Author: ![aFalcon](https://sea2.discourse-cdn.com/flex024/user_avatar/forum.babylonjs.com/afalcon/32/7015_2.png) [@aFalcon](https://forum.babylonjs.com/u/aFalcon)
#### Post date: [February 26, 2020, 9:31pm UTC](https://forum.babylonjs.com/t/a-low-poly-creation/8494/20 "2020-02-26T21:31:39Z")

</div>

Cool, I saved a link.

I’ve been following an artist named goro fujita on instagram,

> **[Goro Fujita](https://www.instagram.com/p/BbvqJlfjuT1/)**

really like his low-poly (quick to create) animations…

… would love to do something like that in BJS someday.
