From 3284c7710b65da3f42816360b10d50e56c272430 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Davy=20H=C3=A9lard?= Date: Wed, 5 Jul 2023 16:15:34 +0200 Subject: [PATCH 1/2] [3D City Builder] Fix the 3D model colors --- .../3d-tile-based-city-builder.json | 239 ++++++++++-------- .../assets/Building House.glb | Bin 0 -> 26508 bytes .../assets/Building Mine.glb | Bin 0 -> 27032 bytes .../assets/Building Village.glb | Bin 0 -> 32900 bytes .../assets/Grass.glb | Bin 0 -> 4060 bytes .../assets/Grid4.png | Bin 4218 -> 0 bytes .../assets/HexagonalGrid.png | Bin 0 -> 3588 bytes .../assets/building_house2.glb | Bin 33664 -> 0 bytes .../assets/building_mine.glb | Bin 31832 -> 0 bytes .../assets/building_village.glb | Bin 38216 -> 0 bytes .../assets/grass.glb | Bin 3780 -> 0 bytes 11 files changed, 131 insertions(+), 108 deletions(-) create mode 100644 examples/3d-tile-based-city-builder/assets/Building House.glb create mode 100644 examples/3d-tile-based-city-builder/assets/Building Mine.glb create mode 100644 examples/3d-tile-based-city-builder/assets/Building Village.glb create mode 100644 examples/3d-tile-based-city-builder/assets/Grass.glb delete mode 100644 examples/3d-tile-based-city-builder/assets/Grid4.png create mode 100644 examples/3d-tile-based-city-builder/assets/HexagonalGrid.png delete mode 100644 examples/3d-tile-based-city-builder/assets/building_house2.glb delete mode 100644 examples/3d-tile-based-city-builder/assets/building_mine.glb delete mode 100644 examples/3d-tile-based-city-builder/assets/building_village.glb delete mode 100644 examples/3d-tile-based-city-builder/assets/grass.glb diff --git a/examples/3d-tile-based-city-builder/3d-tile-based-city-builder.json b/examples/3d-tile-based-city-builder/3d-tile-based-city-builder.json index 83f9c6817..23361c8fe 100644 --- a/examples/3d-tile-based-city-builder/3d-tile-based-city-builder.json +++ b/examples/3d-tile-based-city-builder/3d-tile-based-city-builder.json @@ -8,6 +8,8 @@ }, "properties": { "adaptGameResolutionAtRuntime": true, + "antialiasingMode": "MSAA", + "antialisingEnabledOnMobile": false, "folderProject": false, "orientation": "landscape", "packageName": "com.example.hexagon3dcitybuilder", @@ -398,60 +400,76 @@ "userAdded": false }, { - "file": "assets/grass.glb", - "kind": "model3D", + "alwaysLoaded": false, + "file": "preview.png", + "kind": "image", "metadata": "", - "name": "grass.glb", + "name": "preview.png", + "smoothed": true, "userAdded": true }, { - "file": "assets/building_mine.glb", - "kind": "model3D", + "file": "assets/Goldman-Bold.ttf", + "kind": "font", "metadata": "", - "name": "building_mine.glb", - "userAdded": true + "name": "4edb48c0d41fb226b138458d9186d2a903e8a36d3014d4fb0ca4e9b8caff372b_Goldman-Bold.ttf", + "userAdded": true, + "origin": { + "identifier": "https://asset-resources.gdevelop.io/public-resources/Open Font License/4edb48c0d41fb226b138458d9186d2a903e8a36d3014d4fb0ca4e9b8caff372b_Goldman-Bold.ttf", + "name": "gdevelop-asset-store" + } }, { - "file": "assets/building_house2.glb", + "file": "assets/Building Village.glb", "kind": "model3D", "metadata": "", - "name": "building_house2.glb", - "userAdded": true + "name": "Building Village.glb", + "userAdded": false, + "origin": { + "identifier": "https://asset-resources.gdevelop.io/public-resources/3D Medieval Hexagon Pack/4cac46ea00438bd32afb37d8338ea513fd50d24da73fcd7e02cc89c008a46921_Building Village.glb", + "name": "Building Village.glb" + } }, { - "file": "assets/building_village.glb", + "file": "assets/Building Mine.glb", "kind": "model3D", "metadata": "", - "name": "building_village.glb", - "userAdded": true + "name": "Building Mine.glb", + "userAdded": false, + "origin": { + "identifier": "https://asset-resources.gdevelop.io/public-resources/3D Medieval Hexagon Pack/55e59dd4969004cf6fad17bd2588718a55d4fe4a8443112652e2e7cc31018b59_Building Mine.glb", + "name": "Building Mine.glb" + } }, { - "alwaysLoaded": false, - "file": "assets/Grid4.png", - "kind": "image", + "file": "assets/Building House.glb", + "kind": "model3D", "metadata": "", - "name": "Grid4.png", - "smoothed": true, - "userAdded": true + "name": "Building House.glb", + "userAdded": false, + "origin": { + "identifier": "https://asset-resources.gdevelop.io/public-resources/3D Medieval Hexagon Pack/a7ff7b1f5c501befb298a8b10f1b959f400b5db0c27a0e916f5e3cf1b2ad98f3_Building House.glb", + "name": "Building House.glb" + } }, { "alwaysLoaded": false, - "file": "preview.png", + "file": "assets/HexagonalGrid.png", "kind": "image", "metadata": "", - "name": "preview.png", + "name": "assets\\HexagonalGrid.png", "smoothed": true, "userAdded": true }, { - "file": "assets/Goldman-Bold.ttf", - "kind": "font", + "file": "assets/Grass.glb", + "kind": "model3D", "metadata": "", - "name": "4edb48c0d41fb226b138458d9186d2a903e8a36d3014d4fb0ca4e9b8caff372b_Goldman-Bold.ttf", - "userAdded": true, + "name": "Grass.glb", + "userAdded": false, "origin": { - "identifier": "https://asset-resources.gdevelop.io/public-resources/Open Font License/4edb48c0d41fb226b138458d9186d2a903e8a36d3014d4fb0ca4e9b8caff372b_Goldman-Bold.ttf", - "name": "gdevelop-asset-store" + "identifier": "https://asset-resources.gdevelop.io/public-resources/3D Medieval Hexagon Pack/1ae20720a4613a3f2a3b415bcdce48d47b436e78ba64a8254e519bf818b6bd66_Grass.glb", + "name": "Grass.glb" } } ], @@ -474,14 +492,14 @@ "uiSettings": { "grid": true, "gridType": "rectangular", - "gridWidth": 60, - "gridHeight": 50, + "gridWidth": 30, + "gridHeight": 52, "gridOffsetX": 0, "gridOffsetY": 0, "gridColor": 10401023, "gridAlpha": 0.8, "snap": true, - "zoomFactor": 0.34986362552946165, + "zoomFactor": 0.399494700575115, "windowMask": false }, "objectsGroups": [ @@ -642,32 +660,32 @@ }, { "angle": 0, - "customSize": false, - "height": 0, + "customSize": true, + "depth": 2, + "height": 1976, "layer": "", - "name": "IndicatorObject", - "persistentUuid": "9f9c1474-3373-4983-a438-fcfeea827a39", - "width": 0, - "x": 1650, - "y": 475, - "zOrder": 14, + "name": "FloorGrid", + "persistentUuid": "61b6edee-0f6d-4f80-a7a3-eee886ff9dd2", + "width": 2266, + "x": -480, + "y": -624, + "z": 10, + "zOrder": 15, "numberProperties": [], "stringProperties": [], "initialVariables": [] }, { "angle": 0, - "customSize": true, - "depth": 2, - "height": 1700, + "customSize": false, + "height": 0, "layer": "", - "name": "FloorGrid", - "persistentUuid": "61b6edee-0f6d-4f80-a7a3-eee886ff9dd2", - "width": 2220, - "x": -420, - "y": -500, - "z": 10, - "zOrder": 15, + "name": "IndicatorObject", + "persistentUuid": "ea2cc536-894a-4069-93a4-24e1e39b7415", + "width": 0, + "x": 1920, + "y": 416, + "zOrder": 16, "numberProperties": [], "stringProperties": [], "initialVariables": [] @@ -741,6 +759,7 @@ } }, { + "adaptCollisionMaskAutomatically": false, "assetStoreId": "", "name": "Vignette", "tags": "", @@ -860,6 +879,7 @@ }, "childrenContent": { "State": { + "adaptCollisionMaskAutomatically": false, "updateIfNotVisible": false, "animations": [ { @@ -969,6 +989,7 @@ }, "childrenContent": { "State": { + "adaptCollisionMaskAutomatically": false, "updateIfNotVisible": false, "animations": [ { @@ -1078,6 +1099,7 @@ }, "childrenContent": { "State": { + "adaptCollisionMaskAutomatically": false, "updateIfNotVisible": false, "animations": [ { @@ -1144,6 +1166,42 @@ }, { "assetStoreId": "", + "name": "FloorGrid", + "tags": "", + "type": "Scene3D::Cube3DObject", + "variables": [], + "effects": [], + "behaviors": [], + "content": { + "width": 100, + "height": 100, + "depth": 100, + "enableTextureTransparency": false, + "facesOrientation": "Y", + "frontFaceResourceName": "assets\\HexagonalGrid.png", + "backFaceResourceName": "", + "backFaceUpThroughWhichAxisRotation": "X", + "leftFaceResourceName": "", + "rightFaceResourceName": "", + "topFaceResourceName": "", + "bottomFaceResourceName": "", + "frontFaceVisible": true, + "backFaceVisible": false, + "leftFaceVisible": false, + "rightFaceVisible": false, + "topFaceVisible": false, + "bottomFaceVisible": false, + "frontFaceResourceRepeat": true, + "backFaceResourceRepeat": false, + "leftFaceResourceRepeat": false, + "rightFaceResourceRepeat": false, + "topFaceResourceRepeat": false, + "bottomFaceResourceRepeat": false, + "materialType": "Basic" + } + }, + { + "assetStoreId": "f426034db52e31b535e91febb654766a9a287999463e1a1a06419e8684f45325", "name": "HouseObject", "tags": "", "type": "Scene3D::Model3DObject", @@ -1151,13 +1209,13 @@ "effects": [], "behaviors": [], "content": { - "centerLocation": "", + "centerLocation": "ObjectCenter", "depth": 120, "height": 120, "keepAspectRatio": true, "materialType": "StandardWithoutMetalness", - "modelResourceName": "building_village.glb", - "originLocation": "", + "modelResourceName": "Building Village.glb", + "originLocation": "BottomCenterZ", "rotationX": 90, "rotationY": 0, "rotationZ": -90, @@ -1166,7 +1224,7 @@ } }, { - "assetStoreId": "", + "assetStoreId": "5b6eeebf0252e5e0697dc599d6d8a2bc0f06c729cfc25f5f485b773e5a02ac1c", "name": "MineObject", "tags": "", "type": "Scene3D::Model3DObject", @@ -1174,13 +1232,13 @@ "effects": [], "behaviors": [], "content": { - "centerLocation": "", + "centerLocation": "ObjectCenter", "depth": 120, "height": 120, "keepAspectRatio": true, "materialType": "StandardWithoutMetalness", - "modelResourceName": "building_mine.glb", - "originLocation": "", + "modelResourceName": "Building Mine.glb", + "originLocation": "BottomCenterZ", "rotationX": 90, "rotationY": 0, "rotationZ": -90, @@ -1189,7 +1247,7 @@ } }, { - "assetStoreId": "", + "assetStoreId": "74dcc8440ceed91968ee76ba8a9230505321041bac7fdbf7584aafbdd0427e3d", "name": "LumberObject", "tags": "", "type": "Scene3D::Model3DObject", @@ -1197,13 +1255,13 @@ "effects": [], "behaviors": [], "content": { - "centerLocation": "", + "centerLocation": "ObjectCenter", "depth": 120, "height": 120, "keepAspectRatio": true, "materialType": "StandardWithoutMetalness", - "modelResourceName": "building_house2.glb", - "originLocation": "", + "modelResourceName": "Building House.glb", + "originLocation": "BottomCenterZ", "rotationX": 90, "rotationY": 0, "rotationZ": -90, @@ -1212,7 +1270,7 @@ } }, { - "assetStoreId": "", + "assetStoreId": "cf713d3813a341f81367c963eb03fb3b11330e51c281b2fd7d9d04c403b5c92c", "name": "IndicatorObject", "tags": "", "type": "Scene3D::Model3DObject", @@ -1220,55 +1278,19 @@ "effects": [], "behaviors": [], "content": { - "centerLocation": "", + "centerLocation": "ObjectCenter", "depth": 120, "height": 120, "keepAspectRatio": true, "materialType": "StandardWithoutMetalness", - "modelResourceName": "grass.glb", - "originLocation": "", + "modelResourceName": "Grass.glb", + "originLocation": "BottomCenterZ", "rotationX": 90, "rotationY": 0, "rotationZ": -90, "width": 120, "animations": [] } - }, - { - "assetStoreId": "", - "name": "FloorGrid", - "tags": "", - "type": "Scene3D::Cube3DObject", - "variables": [], - "effects": [], - "behaviors": [], - "content": { - "width": 100, - "height": 100, - "depth": 100, - "enableTextureTransparency": false, - "facesOrientation": "Y", - "frontFaceResourceName": "Grid4.png", - "backFaceResourceName": "", - "backFaceUpThroughWhichAxisRotation": "X", - "leftFaceResourceName": "", - "rightFaceResourceName": "", - "topFaceResourceName": "", - "bottomFaceResourceName": "", - "frontFaceVisible": true, - "backFaceVisible": false, - "leftFaceVisible": false, - "rightFaceVisible": false, - "topFaceVisible": false, - "bottomFaceVisible": false, - "frontFaceResourceRepeat": true, - "backFaceResourceRepeat": false, - "leftFaceResourceRepeat": false, - "rightFaceResourceRepeat": false, - "topFaceResourceRepeat": false, - "bottomFaceResourceRepeat": false, - "materialType": "Basic" - } } ], "events": [ @@ -1461,9 +1483,9 @@ "parameters": [ "IndicatorObject", "=", - "CursorX() - 60", + "CursorX()", "=", - "CursorY() - 50" + "CursorY()" ] }, { @@ -1474,9 +1496,9 @@ "", "IndicatorObject", "120", - "100", - "0", - "0", + "104", + "60", + "52", "" ] } @@ -2168,11 +2190,11 @@ "name": "DirectionalLight", "doubleParameters": { "elevation": 70, - "intensity": 1, + "intensity": 0.66, "rotation": 20 }, "stringParameters": { - "color": "255;226;226", + "color": "255;255;255", "top": "Z+" }, "booleanParameters": {} @@ -2181,10 +2203,10 @@ "effectType": "Scene3D::AmbientLight", "name": "AmbiantLight", "doubleParameters": { - "intensity": 0.1 + "intensity": 0.33 }, "stringParameters": { - "color": "255;218;218" + "color": "255;255;255" }, "booleanParameters": {} } @@ -5260,6 +5282,7 @@ ], "objects": [ { + "adaptCollisionMaskAutomatically": false, "assetStoreId": "", "name": "State", "tags": "", diff --git a/examples/3d-tile-based-city-builder/assets/Building House.glb b/examples/3d-tile-based-city-builder/assets/Building House.glb new file mode 100644 index 0000000000000000000000000000000000000000..52940ef1f02bc609f8a455d6c15b5dd1402a32cf GIT binary patch literal 26508 zcmeHPdyr&RdA~e_2%uHwAyF%o6;l{WXQq2mqa;fem83$YVi_W-k}64}2?jT)$?tdWIro0| z(cQOUE&anDy3cpM`@PTkzI)EOciFS|#RPigzp!hT7h2m7Y|nc88~bLL zZc(h7e#h-|dw0#v?}47>#hLk~y)(;7*G-q%6LuInzUMhD+p#0h55lHB;o8Z^ZN;|h zxvmeK<3&y@2!hB9f;hG#fBS)^(d0mRV%g4H=Jw6c-d(9E2>mD`XXv_4;47(RO*AR+ zJlprZDDa~eXg#URO?B;_o!>bNO^XZ5#vi*0b{Fy;Tr|$)h>)MzKEo6a%So{pa>A9hcbc_QR zQ#JIM2UXL>MfRd%_?XTNx}SK660>*L;w(z#O*T@PoeK-Q##D^jhtS!W87&mUfHlK`TF-$k0gJH1 zDU2BwILLF~ZGkodSzht3xy9u%6=O2NWk|)`a%0=$(7GY3ukAy1?6qQ62Nprz30f$H zxXB=)@|u^H7jX9*FWAUBPOB(H>M_u)WXL5bM;mjJg&yF*jlBprv)C;v-Mz4PZf4K8 zYHcLDg9zGg3-=7iVMz&a7x5zxDttTkV#eC@aN7yP*ufnLrP41ryk`+BhcO+tk*iRG z!W8*&fDZNGW)TG_Z7t7|^U8=J8jxOUt1*KFC^ z*z6u?HsGsOH&3dPmqPW`rx%9OpD69+~E$ zfpoDRl|o%P*tyYmbHiN`O1(a+=?xMluUJe9H#aLV=Y=-|6zjWhUFC)O}$N^sw+LU+L3->GL7;hV|PpJ7>WAqW$hT9GP^>mC^9e&t^S59w`|>V zeaQffXIVlv4ivC&MvnvT!2ATb;rm#Sa~!Z3<8SdwF7(BVSQInRMKpM_NR?ehf{ijX zV=o6#Mq}{_ZF#bRFuRxJ1&c`J8$7A2FEpa6ypGG_A)1wp?9K^n5Ksv3r^S~ zJMe7}+^%LC>U(9fXR(Ln8GA+ON2Gd=y(03JDVIf_6I!bu5P7aAhfaA>(-B4$dPWDk z9kp?G)Z|97@o|3Xgiwh2>*{)f9cX}knI{8ZAwd zRn~Z}uFLwf$d8`$Tu_%KWHX1W!nD|6B@_7gV(V;U1IyzCo>Qm~1_IlAY=VizIf9Md zKkm7%8~b*?+?1uL&{yzep{odeWxD4L&-g1suSkd7UU5C+uh3taa#`rZtXvJ6^dqwF z7dP~k`CdQt-iU0cD4)o$8iv*?wKVrSu9EyImNY%7-yF; zPL`6Dc(DvY%1}qfO8@d4#v#tgKn&Ginf%!tcI>SF44A~+MGhMaR`#@hR4ob1fkbdi zgmO5_SCfTe89yrgBT4{m&%##`{>l=N zOb#ME%frnw#&a+3DP^d^!`fUylEtO$7q{`l=7jJIceQd{{So<{=daLTnO0d`u?-v% zSDqn^^1#e$#VRd(-OICEXXp3end#=3>v1Bs?cS}PrZXL87WeSMy63k-bqbWoD)9zBA|rW~u)5qO z%?_T7)mM(={=9NLM};d=I}Yves7M_ym2AfYngYAejFRlbT*m{X0(;CwUS0N*b`P7E z`s~>1dX$?g@kW9d4E_LA=yw=sOjgQ~pm zSV51W9ozmqJD=&*4_!%nFqU?Q$DeZG!jkr3c(pwdELYO#=9v6$AfVy4W4!8+3`HHFyn@mijsCbwjCqvr7`CbM}6P z3G2p%8HWW-LHjV@OWJwVk~e-ByTiquobN4l%aMg@*tnOqhs82EOnb?9Y*9FkrTSs~ zCG~in zKHhvRsvpmNycst}-7LG0$u|an+5G^A^{>EvoHQ5M@!kO@s9K-uHM&@s;}EbF;%VuI z4^3Lu6<1$teeZ4Y+G!u?Pd)t5o7VtO3wZ6t8+J}V{Lt4{i5IZJPm$MpWZ(3v_Y7e} zqhN{GGN(x|U`byklX?xF@U)hxU}=xE`Pt7rH07*o7JZo(_%#ie>=Aeq2SsCeAAI1P z=_d~znnJ7O8$4}$@PP-WKX>|58%ZPJH9@~7@dhTZ(M!3SUg}k_p(l-ijXk81dQ%v9 zIYuU)9HX_lj~`Sv6E-pl8+!1_F-7g$o>HN*EFSdn0o$V9HA0%G4eSN)e z`fQEgFPHz;?|ry)MR4@NZ$A5*op*iV#lB^AFaGdF?>fl#g~QE*+y3nDJ3s!(PkY~d z_6ME6{HJCg^nFd=Cq1tB_4Pil(|!|o-FDX9GokF%?a=GcqvXJzoP5~xS=z&v_8B`e z`x5(woysr#a{>!F+J5rT)?QthwB#Xu9azg(^mSk@Q`z$~gvYVJ2Rn@Yax-mA@K)1mUidg`w)=KLfLCV2K|D*P$=ar1Pqc3-qxqVmJ&|c4_({a97EtZ1`f} zu7D+e5L|~|(sYluj)JVCtfQ@CtmCX#S;yjgoOQf)qIH6`4&M{4ldM-;r&uTB`)cb{ z>on`N)@$%R%{tvW%R19K1K+c(v#r-z=UD6UeVuhKe$TbevtF(QQ%zt>xDuo~7I ztqu4#tPAjafpwv^QS~>V-Gsl5)TbJVZ603<{LQU&3w3k>D_?@sW$Da+z zM(bF<|RIomW|+NtzvIa9o!ajv87>$Y?L$G*{H zU$>^8(wXaqeiZ);hd(3*QyMs*g75fB(fd0bc1p^PhJry+3+sO40r3rB8Lf z|Kdx%=YRO#KH9c!k;~mS`$@ZB+4cPw_ZRInedCw%2Xv~>mVQ|2C#_?^41?2aT|qYl zHVV?(Liwi741kpm$mHip!>R7Bu;b?jk6Q;%MKyd4>LF|4sj42bHV&?dtbnYE=c5iX zS7e?D*x;Eb29|jx@g|p!NDd1dWIf8&3zMs~&FrfHn>~=S)9jxFjj~zd&7MHeC|-d# zGL?@;7jxI-e4!?&94cOaIXNrk7ju;IO^wiPWgqidt)*E@NQb^!%bLECgQU`*G?&pQ zoc6nUIHfP-?awQhQhNr~ucDoU=nS6z7I>779R4+W&62D`k~Ir+?@X*>&cOFftYwZ- z>ymZIO|DwjVNG*3+T*Y$IaNXHv7R|wt#r=DYUdpM9gmgHNowVDB7RQ*<|M3o9(v;b zDOzyjvm2)_{njGyc~k3;J!?wfR|S3**H`f6{GAjqaqJtsfmgsw9wk%2tI(0+1x$Qu zgMg(C(#}=bxoYeeFzHkI0+#d=&iN~Rr`@R>0TV}`jlTw75jGFvrGF+qYz^7N6O6EFZD|K_WDD;N5A@|cH`d1djI;4 z3;O7{b-&F%YESP+FZ~4Ti~T+8=--+|+t&Ry`;W|?*}wO#=XKbA=*{0*qa60x>V8}I z+w6m`qv<>B8-2nKrPtWAzPGva9(#R{?fR29bd z++f(;6ZVgUwau)%#^#~$hQE7%@83RfKIeY74ovx^2d%2-gg^eb87%Qt@I!BZgQ4#V zxFl2acC{}0U}%&-T5l0AX)G;Y(MY&TCiM{yHH^bZc-(bmo&EJ2u!=lStt7dd=Bko= z>hrLp<_?>?>kF}m=6-q;TJEHio%N+?n`$S0soGO>2hIJojeRu!5&Rls$1`-mYTfs_ z)34h^Jl17X2A{xXe8QXHr5r>5Uw3`0!+b&8*KOyy|32JfU$<%BTsQQ*PMOIkT^pf0 z6z*#JHVH?;<#9UR;#mk|!TSJfH{sto`72e1cG|~n|Kgb?qgXEPqNWX+$CEvtq06u3Y??>D-u;u*c{WRG_ zAdz*S?VVpaWeZ!ASL~CHeckrCPB8g~>j&9q%XI|trq%KeYI)H8ratM|Qa|y=4q=zF zllrurj+VcLecHo5>9w4kKT@ug5BRgXpX1B?aA3!BX0CNjax;$U>oA0 zKHc$Q%?UdUL|=!)N*{FbQyWgmGalVfZ8x$6KDDDOY#IWSRq=p^pHXnCyQ}?BOhaH3 z7t)UjQ#3y*Uk$i+Y`c`K?d~d2{iObxYx+_ZepIZ;n$XDm(lOZE9*eyx&*^zazYaT8 zp40P;{$zDRf1)~*;*OVl<1?@)=DwI`^y{(PfZ`iuKkPkj1MCcn7)*_E$$ z{$Pdhm;dh*t6zBhW`%#~({G;wep2J7fS)1^{3>`A4BknJUvA!~_FAXi`g=K=FFpS? zh5z>-KQjq8f1^O0lJi( z@P)oB+ZdBUcqw1nApMoR(l5y?eUx_o@uNZi`A=+_e(KXv?+^dzKYH^|9^XIrH?HiU z-#&ERogMT$;XmBd16^mwli%gJe0$fc&ceOrrS@m8eh<&Zd%E9a-{5)Xrmrh{L8tfz zT{m<>&mg%*uaZ}!H*$Ra0tvxtWBWJ(Wm%B@4vX+d-Y`d?FTPjs{=pt$seqd{?UgI zuhoJ7^k1f@Nk4VsMZG#OWGZ^dpRNPL=AO2Hx(*B*l>M-$T?a;>7^@zC2)$fb*2$xA z`gbh;jzOJVr|KnZete32nryPMgne4P=ju&c3n&UEmWqp(NMB-)6N*bBJvJS}H zA7qcDk@5>R|FZ7=vhH<}gH<(6;+dyaG%3DLt&=o$YMrF1Q|ly6omwYp>eM<(Q>WHR z8U%{5dc}2*drPdN)LAuP)*J=%+(o~Chv)1M@SQiXJ*iuWUd|8w^an3T9h?6)$n1H#SRq=$DE4)bBt3L$1SB zEAYx5JqK1n!!^005%8qoRk1R22K)BTQ_p_1hqll5g~OAb51#oMyf-n~XDjfgujmb3 z4gR6>A*c7h@B22^qm#Y$C*L!TwypbZ_9_2skNmc>gDtOr;rgrbUgczuE$!2I(^vF{ zt_DBOJ3fW=@1#1fB)vZ0fKI+YGKp*N<8^he$(DWUP2M9JX`hn6ed7N1bBnFDqI}?c z#Iv2a|0KLCdVia(kW6 z(NyOae0va2Kk&WWV$FkNs%0${a9T%2ja(5ls$Ob(!ltI?>L~D1zJV3J&}H-v;+6Q7 zf=tOPZ7_J!8~h4u2Xl?JM7Qlt_nm4#p(; zRGp#m%0Rrz4b3|O9%l`f>gx*K!(gMEG$Y|xl1uQlhp)By$@}=c#K6=2=a2h*f!RUZlf1-p-9dWd6Zmw}8ocCHu%VYS3pN;C)5L3;v_;Bf zpMEKt1WxSN@{7DFJ!tV>wz8S_82p;R7kx}=3O*V+Yyb1!Pi=Yh>5T`I_NpzG^>Fji zryn_JSzr0{N1tBZ0{lUJ9qm=14M5XvqXms>)pHv5xnAIP(;7P6Pw5SQ5dVnlMoy}) zAZMt3j5p|e{2}xTV9KyA`{H)CHDINaEM2X01f0rjgV4wy2J;&2VOs+poxiYC$$`AC zklCvP%iK@S`FVzQNPN13HNA+t}_B286VOb`kwqZ zIH#!Rdwl!+wK&y24QJb@q2+VF-zr4)+dcLo|{_gs! zx~jWp!J?^Sx(gw0Y82wlK|+k1GI7GHiu%^phPI08RTT>wni^W_+nQS{sw+-e*wWn8 z+&XXpLiwa%?ygcMFUt3b1D%MAE}0iVzC*_CFMW!k|on0-bdU)bgNEg^L$+T}qMZ?5m0_5< zAqEgyC>XH)wiQ4&{W3yi6xRJv8us~vzB~c?Ez1sDmh4^jbC{7CwrzyWRD4zl-5Lnu zn_7!1R3o&Z5JeL+@?FJKx$6qO#IFC)J3^(_lnkE$<>s!%A*Pskq# z`$8cYge4#KZ2sP>V`|<{8RM|eiZJM^v4g|s>coXO{zWn8eL2Dv27M=A6{Z_Kv zvWOWW228(<5n~(ygc)K9q&y*_qJ8KYOgjP73}N8qj}e`SnadyY1u*21c}y@e#<>d{ z7tL#Fz+5`rs5C3BO1sim>91sMCnv^0s(a@w1#4r|f?0Bg< zwhB(Pi|gAOS{myYWz5O*8e7^>DNE+GoZ8Sq`%F{^DmUN0pKK3eBUgJ~UeJU>Q1HCKyl9tBBjctv~ zJdXOdwwA^@OWW97RWWJel(AFCPMjcD0#iqyIdbB}x>2)?ifUZ4Crqq6H8#GY+FD&% z(bzPvaV|x06;h=Q8CFojhBYK*|t>Un5#03Bc&4Uih@ch z4eLs6#FZ=yTbo;w7qdA_=g)6wIlZxAxtulTHZNX+IlifF>iJ8sYW8EXTUjx; zc_}W0)uth{w1St}DiaGBf7te6`4+ZJ%aB)Wta8JFu!V)O&&J}JG}H3KCT1^4akZ8! z#tlc3t4-RhIDPa;8yg~ALN(uz$fCZb<*gifB)$y!T>GfcTzN^9xnTk-Jo{5d#>U6$ zay$S-u7-4WIn)-{CzESng~M$M@{0UoX~_#GSMj)ThOsHbI?(1CvR?P3Tcy8ilgk2XE!%mCmTE`I1wVuwq4fTc7jvTPl>VW2dbFs%H8*jO4|IbpX0zA&~E7M4#~{%2%8SBczG=aDHCHzwj@ zZl}d_vu+}-rOW50otM;H`E=e*19>f+cwRDp3w6S^-RCh@_ABUY@nxSiu^NO-T{|ReesgVit|4+^LYn*8JRCK z)>(1sp3BqoMFt&qM(L8pzRAW-H0&)bY?Xq%*5QK44{k<)g4;^0VxMh=!Upa(_yf32 zVahu;sTn#~2MaczNFld5g%%oU((SZ@+={jG4)%23vlQeej*G!u57H%TadqQ)(8bk} z3&30zX&-PuA~jp&T=kgypv-;PZ*fnXTzcfW(4|tJPlw^@2w9lku{{mQrAZzw>15`~ z1wt(rNLoHmXXG9JnTbft=dmwYvoE;mzAz1BvPfSP8;AN*#ZKnOG;uu)qt;pUxrqcV zhcRRB&N=H%-Z^wg6%4=F9FVcz$dmpeb3n263U?B@-JecB&lk=<_YAoj(gl#*t0Y$} za$T5Rpy&WU7l^o>77F3^ByK0^sfG;eIuA>symIGK%&W9~ZeDSNqYU}nvgQnuYd@V= zU(xjlw@tYky3T9vlaahhOU)?x`(igTop%6d`dKj3MMkeyfqB;-cHR+GFw-cn^j=Nh zSIRx*ob%fn#y2!Az{8?yTr4pFNSQc)zI<@T@xaFe*kEEe8NmH1weial4rR+GwUsKK zYnxqMx_R6*%yb<)g)DJ-J0h8i9PjavDN8&c7ttjKZw9i(L$c;e6wk5lGs>~fZIa$= zK0MjV%v_<+@o*?h9I49`FVye;AgW)tj)zxVP?Q*Yj&@4erVz)wB zRfA`$Wmv~$HPdDyW5etEaPQ`9t?!aFrFKFIFMz%P}Ssw9+E?- z)T%M@TrxBBAv`)SJ@eu0jtk>)PU+&g=1nfIN>|`xuJl2JRXi(MkH1jo$s*5`50x|O zq_GTntVqi6Ki58#$g`dZLJY*|fKG!~<5tc5GeMn~S<8fe?czNLm z%BtSn@B?_RUb_3a;p5?a8S**d<8gA9xXp(F$+e2NWYgDaxL?8N1-Fe7V#L@9V&OH> zTDe17X78Kdqq>ARBjlt1)Y(dm!wr_w`PN)K_BTl#rxAGFwq~p_}=){q? zRDU6#kts*D$+$>YeS~}}x|Ee#wAj&>c_3ZoLFH5LBNZdqWWTe2iR=2isuSI3Jr>o! z)RPZq4)gJ={6H?1E8_U1YKFLGSJKt^(rY6tZ?c{#tJk5PXXPhzrEvI}Q=fDOpHyy% z>vgVh%4YkZ#twP%DPa92{oTLrS|!^b0J6Oka_8XuCtuXKv(f$t?djx$Ueb2~o`v?O&^v?Y z!8h)~YuwM!CIp{*(Xdxs>Svq$gs|&;8+7{B`o&fWmw&aE&}~V!-DPOQf7vGV+LE7f zkw1L@`w7Nz=>N95glscTwm)96$=x`+S;7ZrH#?uLY zvVHHIhn&}@O_zC~AG03raGEZ=-@R|nL+)!Q?AiH<7eDB(b>Xj5dC~Jl{mk3WPghDk zAMQF)@~QS8Klvg-eh*6jtC1JVF@KDUZRVYMW?T9N`?TBa`SUvbq<=R2pgrcD@bj;3 zXMdnJlWq1B+k~tW)+g#R3DIUfp)Ot4AM1;db`^=HKq%^p~HwX1hxqd5*FU$X^Oxiq1?PXqKN;d}#eEaj845 z*(?L6l45C@5a0T04)u;_#1AaMwO z4-tooexk293`ak4xHtkw67~mW0O$h%j}!yN(c&l^1I01;4ipt)uoxtc#W7e65yy+; z#J6x9FNWfKyf{HriD9A=N0k_kUjw)SXbPXOg@wZ>{30ZRB7h?#!lFi;D5`PPh+5%@ zsEFWjL=3+%F#_M17%4`fHA0NWFR{^Lj2J6U7AN5tE5_kFR-7Uxh*QOQ923MuF$u>6 zFkSz?Z;7qfB9 z5pz@fLatlY+L<`laqMG-tMwh%k80nh^XRhL8Z)(jq8?pV<4Nr)!Bea0l(^cfX|fqS zYRyYoT_^SAljU`qV@s_!cpYb(kn0VeSL+X*PswHTDLU3Ej#?KeeOxc_Jl7M-j^a~t zr0aaldGhnM<~TKnLsh(79Qje7vV4eZwsaiIy7nP+Uf>MD`GE66Pe9HLdt=;lF5vj* zJV1=2{s4^jiqKhTGF>XKfXrMiIYwq z9asGC4IjJdS4sYM;$uG@YCyJK*R$^8ezoL*9!XbrNpGBTtU-Ds z*Qxuj>*>nRr8D-yJ&*Aa}_k(uQBlo;9Ows4J4K+xA>BEO`&t`lL z@LJ-R+`X`p_~+HvN?Gu?6MwOJkdcj3ztW@g>vnZnUB51?`=;~gzUe%Aj9uBymQ^|V zMep-vJskYrb+zj|f7H(Ydf{*D+ev?F>cLft-hJi?2I)Uu{Z>0i3GiCt)I(h7*LA|T zj>m%)2K2O3ztTfGZ7I64tMlu&bXnb2S9-F2qo0gLr|bH4J-QDS$6twgBp$u(_63+9 z;!(DH_2@3!gl~_iaTMhFoLv8#WE=9b4S9$1kaH*pJr4Ci-l6;Soy{ zr2dEMeX>o+Ht3QMZN)G3u+8(dQ@7!FiFuE&adw<@u`{*iOy}8`d$`Mehdal=)J#8I zo(J6}9eghNaNgy4_#^cYdVWc}@XuwtWzGI_J#p%#t4qSchk6i#awX!Z7s(%?jbb?T za?c{DyA+(fh=V@GiIsrI8MkDWGI??8kvzXx_H79p?tinrM4Y||@YjOBC{DfPCvPb@ zc}t9uw&V1J67;l6G5+JIqE2WH*agm0DqiXq^qqbb!}WC(*H7GAarLC{srDD#PjL;!wG-D++(Y%jp6F1y zZ{nUw-!C17ebN9N+$UAYUD7dt$6|lPy%P6H-;%qdZ5D1f~Y_eb0t zRby|&{So&@5$uh)KjPkqJ0k9nMqpnw2794VazAvE*m%-go4B?ItkLjIY-@CdgLk~F zLqeTLqql2x^2>2Sn8ky0(ynex=jZw;C9Cm(_J@IAv8_x}UW}*RDyd z9oN$#yrb^EcEG6Dj5rC* z!*%)+Cx0>gn;O?zjb+rcMrYmDs4=D0TSl#F^#7D`q>mka4C>>E<0dtJym6$)l^jo6 z{r}s>ks3c9jH+=&=+zQyFkT8?%Gl9)sI%DE(Ru#Ajid8=oF~@AtMCdBI(h9(`w8sR{`W1c$_!G~rZNKw}6_IzB z42V3lAtYn`=d(}O>b8Ef=?)polykS&rtCsi>7maGr%vWa#Wn4jn2f7>_|cL3mc6x! z^et}ptuH;j>(K9eDO39SUbGH}{<^>BvKeo)bk!Uv$tn)*t#b z#iRPjqenjYX+Kp19SWz;e0ig+qI>>GS@xZx(>Fa2r{C~q?fa8|66x1=cCDT(;-qhV zyccUj#^Uvn#Hs(ZdyeZ+vI;+8*vsv@EnUB&Q&!Q*uiMpgtNWnz(@(uGbl*zJ^N6*5 zIs$|KQj7YL`6rIClaX7a`SDuPudExMqO-pg{lz~m?bvmti2P~tiM0UXY%WI6`ir@xmCF8 z7gYm)e)Q3H;twC%ufzPPr>q&`svp@e3RkkqA7zU^(9g#6t0QlGIWHxv*9>bz<&Zhi zZK=K{kIEH!bf5M7WamWL)nn0d-8bE?J|E_tH!xSI7@1E!&w9THmUTwoIO~3A`CTu# zgmWsck4|3}bXI+Gm%FaYXj4#&wFPu83a!`g)h`N9y+J40YS!UUBU&T|)51E^rTYV!h6mO}VOPT2tef199iOor**nVtywGEt4AIZd*`ZkF5%V}Z*<;WFJiIaM)#KW--qvimhF?9 zole+^?l>dfN&3mnvt#hX-EqeCv1i_S3b8t!gp~Ve*xN4kKwl^M*!J{yUj2H)*|zmc z=b=q~oX0Qk7ae-q&)q{_AL^VsbVTQ?gRgMeK7PbJm+gD*Zgv`KEa#o89(M_QZ|~*I zT2tNG@7PORLY#L8T-KL#*9^rv!RN4z^A6irRUPJ>d5`P9U;Wc4VfS&{qjO)1bpGIi z@4AGcOZSM5dUBb2?%SK)DgBOdF5NmQL3r9te~A2chKOBw@5e6TBTt=^*t{|5T(avK zmyrEwtz6`6cyya1ZhSJqerEfallsQk{`t0(Vm-d|a`dX{ePh4;^@q-hTOW@S_P(TB zY{#p89q0P5qOG6($eG#m4u@^%bH6-r9dbIUlMs5{za9DK4%AC0;j7xQx)60gMelyJ*Grgr{U>ukt8;cgi5d~|)JMz)VRX|K)^c-N%&_LCh#W6T(ra%=5p zow~j=-A4!9>R$BRT~Wg7A#0GslO00x4IKO5&XV`Lxxw$=A0a&Y?fae6SFC0J62m^I z>AdaZI=AY+_ptlZr7>3eI&5Tr7EwUw}WZ>Cy3&e)yyEM&I({p8k^e zvi~mrox{J1d=MHP`Svx_qUGW%1FI60WnxOiqZ)rv9R74@zI`M3@TRvrdUt<6GJn^o zL@D^Dwz*OAGsbdp=#OZ&%EDnQq1i2pd-YRJ{l~RBXL#kvmdl^ArPWyC8^l#@Q0F&- zBS7))kw1@2e(hY2;kYg?4UaR}o`nx^6d;KkW@A^3W^4>My_ThUz$KgGnp*Z-S&rtjhmGArTy`SOo{U1ZV z>yx~v?UQf*6np1~@B1Y0YDaNjoAu0G4frXQ{{{HaUQ-+qD3qf zZK74I5X;3fu}Z8I=kwj5+I_a&iF<0#^JrH%-!p%Ia!CGHgYR`KT<6z$Gq3}&?YjlP4d4RM_NPid?@h)WL^8=5Ec9kA^ zk5!XZbX~vnU*p-N`J?a*e&|o-q=27_hyF~l{{13oohu+Qq0=R@4U9}~@ z;wwSEpnm8{e0jld`EGooU+>E!fKjgJo>}gr>hJPW|Ps5#mp{k^aLMOCO5i z;ER%nMoPpJ8h=q-x?je#rQPB8VwC+`0v<=G%ncxqqBz;|@$2*yuCFQn)z7^7p70YobwQv zgq#aCJT;GMbL1wCN6wcXKXEmuX3V3Y>-rTg`88Y0ZdbB8eN&cBT~_x&(aEpqn>cr% zucMqxJQy8v!`?329xQs^n~UTeM7iv_DO-=ypJg}Op7et`Nq%HKmV?7@^^yAxC7Xwy zs&()b!&835JznZ9ge!aGDT;rcu>?O7I7Ic98#**R;_lq@{v^FmV#YuE4)t*QBK`6B z70!7vrAL<~o$CPdlb*!;kXO-lS&1utU1ydL%2tGQPbYoRb+XO4Bu^6WLt50+pDml> z*LjF1Wo3Sptc)c|m$9UHvSLi}<3Dt<$F>dbOv2GIAvRP#wryjl5Kle$*tYf<=$+nq zz|r9KgC`yZ1doI#WkIYQgD6jC->(3k51-)bM$xc z`R={in{!XjcgV8;cQXJx@*{BY{V{yhm?}7a)tD_b9=jTMiq3eIp037G(x35>^n5~G z%_oxXjcZAleT4U3B!5zWlBWyYi&4tT{O6NR#+cNv!$azT4Gnjuc56Srlb544GO3pLC;d}$XG9c`H{WkM}BhR?* zYW$}7*{4dDIFCHzQ6Ez}p5mttB}*J1$rqRCZsWQw9nY|(+f_KBjwk4cH_vEz(fp8C z@h9~6M)#BVvhx5Q;^4{KFfV@YSd>57f!RwFven;TwkAMFS Nz(0NXZy(MN{|D#@C0hUh literal 0 HcmV?d00001 diff --git a/examples/3d-tile-based-city-builder/assets/Building Village.glb b/examples/3d-tile-based-city-builder/assets/Building Village.glb new file mode 100644 index 0000000000000000000000000000000000000000..cf4d54812f1750e692c547b4451a63fd7bd5d495 GIT binary patch literal 32900 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 bkKA#({oQ!)|5?*JYbyVL*YIulYn}fCF(NcG literal 0 HcmV?d00001 diff --git a/examples/3d-tile-based-city-builder/assets/Grass.glb b/examples/3d-tile-based-city-builder/assets/Grass.glb new file mode 100644 index 0000000000000000000000000000000000000000..1b409b9cc6fe15b7a2f6a67bb770340e3448959f GIT binary patch literal 4060 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 Q7ytkO07*qoM6N<$g8Fm`&j0`b diff --git a/examples/3d-tile-based-city-builder/assets/HexagonalGrid.png b/examples/3d-tile-based-city-builder/assets/HexagonalGrid.png new file mode 100644 index 0000000000000000000000000000000000000000..2dc764973f4a81e8c6575db6985f86020204a81c GIT binary patch literal 3588 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 R@CPU4VCQUGZWD0xzX1Lt;l2O> literal 0 HcmV?d00001 diff --git a/examples/3d-tile-based-city-builder/assets/building_house2.glb b/examples/3d-tile-based-city-builder/assets/building_house2.glb deleted file mode 100644 index 271093ed450f45deae7e606a134498d91d7a1070..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 33664 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 diff --git a/examples/3d-tile-based-city-builder/assets/building_mine.glb b/examples/3d-tile-based-city-builder/assets/building_mine.glb deleted file mode 100644 index b6835269d42c0cf99c7818dffaa0ceffc66c1f81..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 31832 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 diff --git a/examples/3d-tile-based-city-builder/assets/grass.glb b/examples/3d-tile-based-city-builder/assets/grass.glb deleted file mode 100644 index 60ea652d6b8ff516798485243603181ba4bf6af6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3780 zcmcInOK;;;6gIEn{VXuN87>SA;Fj2qlQf7{p`=h~o6^S!sZ^Dd+$NSByRw~OW~xg0 z53Jd;K+Fntg_usISCk~_x?zl**X!X7j~&l*8}mW8)%J0)=&7$e5uXUW zAe?j>;@QWcD3uCkF;7RsHmss)6KCZOqgcSvF({Dqq--$sP&rN4Hg(nvx^<5)xXtvq z;7oh#ZD%HEQf{@m%GXO(Tqqk%X4?vJADu8=Ggq)pt6&$AX2~w)M{@;m1*>EitWnGO zUosX=h}t~4-emGKJZfJ^D+t|=8@pGeN=HOl2B3s?HXx-%QkM^PjEeSQ$5BI%eom=kE24C};I-Y_8Bf?j!4@#75io znjxo~flh#|IPR>^Ias9=7Ke@>c}^@|6w5gse^3mAc;AwkM$~XT%zqiPf!t^Or}jl> zGs25VyoI6$UTJbdvJgZ=QeuOYdU#)cIyH;8r?yRB<-6bC%tSznIy>sUi@=xmtKSa7}J!>m?rJwbAAO{s|jMk-3$|dWQWXeWJqjZ6OrZBzZM4)KYt=#R1$wIu7JmQ?3Jjj29#k=yjxULS~8eGuz1AF(d;O!O%S zX-oa-$IITPK9$bRtbWp~#DA90TS~(fX}IU@}d3y%L>tB@FEVG z^kmEdeCl%?ipu{{Jnd0FM32Gugbs9j_&)}p`rOX=KZ+;U@Du?eat zlxrXUu(_l?Cp%@k{rB}BDqFi3cM@8yXxfkZ*6xiRP5brdt=-=$Sl^NRpjGJF(CLkX zLPyZbU;li3i)2Zaoa(84r9a4iz`lx`##4S({G;quJ*X4)-JrTfU8omzi+WMxUO$q$ z{-F9$*FK8)XP4>s(|t5Ze29|#fCTXmN}lLLz#{-&9ojibNq!V~0(cyFOj44c1fBt& z2JjP2P?Dboo(G12=OiWh1>hy%Jn*8VB)<&22D}QqA}PtQ0~dfdfj1;2`7Oy4WfH`{ z4Un&Q0E$7BXYgh I$sYm#0j`Q^sQ>@~ From 49e2686dd0a5b3f47f63df12210e721d407dd834 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Wed, 5 Jul 2023 14:18:29 +0000 Subject: [PATCH 2/2] Optimised images with calibre/image-actions --- .../assets/HexagonalGrid.png | Bin 3588 -> 2712 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/examples/3d-tile-based-city-builder/assets/HexagonalGrid.png b/examples/3d-tile-based-city-builder/assets/HexagonalGrid.png index 2dc764973f4a81e8c6575db6985f86020204a81c..9e4f7e36bcb79486615a960c6701b9a2905399e3 100644 GIT binary patch delta 2683 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 R@CPU4VCQUGZWD0xzX1Lt;l2O>