Climbey

Climbey

查看统计:
Chris P 2017 年 4 月 1 日 上午 11:54
Minecraft level to Climbey level converter
Just wanted to share that I'm working on a project that converts Minecraft levels into Climbey levels. Here[imgur.com] is a screen capture of the current state of the work.
Eidt: Here and here are levels I made with it.

Currently, after a lazy optimization this small level (41x40x23 minecraft blocks in size) takes 937 Climbey objects, which is playable. I know around 6,000 Climbey objects puts my GTX 1060 at about 10 FPS. This means larger levels and more level detail would be difficult... Anyone on here have any experience with Voxel optimization? :P
最后由 Chris P 编辑于; 2017 年 4 月 3 日 下午 9:50
< >
正在显示第 1 - 13 条,共 13 条留言
Koolala 2017 年 4 月 2 日 下午 4:23 
Any way this can work directly from 3D Sunshine?
Chris P 2017 年 4 月 2 日 下午 5:57 
引用自 Koolala
Any way this can work directly from 3D Sunshine?
That's the first time I've heard of that. Maybe, but depends on 3D sunshine's save format. Currently I load a Minecraft level in MCEdit, export it as a schematic, and then load the shematic in python.

Also, here is the first level I made with the converter.
最后由 Chris P 编辑于; 2017 年 4 月 2 日 下午 6:00
Koolala 2017 年 4 月 2 日 下午 7:05 
I'd suggest a simple starting point for optimisation that just looks for cube squares. So like how you sweep through every single block, sweep through bigger blocks of blocks starting from big to small and add them if they are complete cubes.

What are the current block type identifiers? I'm going to test out 3D sunshine and see if I can get that format.
Chris P 2017 年 4 月 2 日 下午 7:15 
Currently I Ioop through each unaccounted for block, trying to expand it as far as possible in the -x, then +x, then -y, then +y, then -z, then +z direction.

Um, all I know is that MCEdit's .schematic files are in Named Binary Tag (NBT) file format. I load the NBT in python, look at every block's ID value[minecraft-ids.grahamedgecombe.com], and then decide what to do with it from there.
最后由 Chris P 编辑于; 2017 年 4 月 2 日 下午 7:20
Koolala 2017 年 4 月 2 日 下午 7:54 
What ID values are you mapping to what Climbey block?

For cube expansions, first sweep and expand as far as possible with the x,y,z values locked together but start with the biggest value possible. Try this before you doing your current expansion.
最后由 Koolala 编辑于; 2017 年 4 月 2 日 下午 7:59
Chris P 2017 年 4 月 2 日 下午 8:09 
引用自 Koolala
What ID values are you mapping to what Climbey block?
Right now:
Glass(20), Leaves(18), Water(8, 9) -> Glass
Dirt(3), Cobblestone(4), Wood (5, 17), Wool(35), -> Metal
Grass(2) -> Metal with a thin layer of Glass on top
Stone(1), Stone Brick(98) -> Metal with a random chance to have grabbable elements.

引用自 Koolala
For cube expansions, first sweep and expand as far as possible with the x,y,z values locked together but start with the biggest value possible. Try this before you doing your current expansion.
Ah, mk mk.
最后由 Chris P 编辑于; 2017 年 4 月 2 日 下午 8:16
Koolala 2017 年 4 月 2 日 下午 8:55 
Could you make white cotton 100% grabbable?
Chris P 2017 年 4 月 2 日 下午 9:09 
Lol yes, and I haven't figured out how to get Minecraft block metadata, so it will be all wool is 100% grabbable. I'll be experimenting with various things, like adding additional metal blocks on brick blocks for texturing, special grabbable patterns for wood, etc... The ultimate limit is how many Climbey objects you can have before the frame rate goes below 90 FPS. I've noticed that glass is particularly graphically taxing....
最后由 Chris P 编辑于; 2017 年 4 月 2 日 下午 9:23
ShadowBrain  [开发者] 2017 年 4 月 3 日 上午 5:24 
You're really going to want to optimize this somehow, Climbey combines meshes at runtime after loading a level but I can't make it combine colliders of the meshes, I can see this being very taxing, very fast.

Looks nice though!
最后由 ShadowBrain 编辑于; 2017 年 4 月 3 日 上午 5:25
Chris P 2017 年 4 月 3 日 下午 9:55 
Ah, mk, that's why it runs much smoother in-game than in-editor. Interestingly enough this level has ~18,000 objects and runs just fine (in-game) actually... *shrug*

And thanks!
ShadowBrain  [开发者] 2017 年 4 月 7 日 上午 3:26 
Correct, it seems my in-game optimisations are pretty crazy good.
Can't do the same for the level editor though due to it needing to be dynamically changable.
QuickNinjaCat 2017 年 5 月 5 日 下午 9:47 
Maybe for large chunks (ex, 5x4x7 rectangular prism) that gets converted into one whole block, instead of 140 blocks.
Chris P 2017 年 5 月 6 日 下午 1:32 
引用自 MINDFLλME
Maybe for large chunks (ex, 5x4x7 rectangular prism) that gets converted into one whole block, instead of 140 blocks.

Yup, that's what I'm doing right now. A current problem is determining the most optimal way to do this, or using a method which produces a mostly-optimal result.
< >
正在显示第 1 - 13 条,共 13 条留言
每页显示数: 1530 50