マイクラ内での読み込み(3)
反省点
- 5mメッシュを標高をそのままの比率でブロックを設置しているので傾斜が急峻。
- 高度差が大きいところは透けてしまう。
- 処理が重い。処理中は操作が困難。
対策
- 5x5に拡大する?
- 下に土を5個くらい付ける。
- sleep(?)を入れてみる。
草+土x4にして、ループ毎にsleepを入れてみた。(loadnpy.py)
# coding: utf-8 import mcpi.minecraft as minecraft import mcpi.block as block import numpy as np import sys from time import sleep NPY_DIR = "/Users/pycra/Desktop" NPY_FILE = "npydata-{0:04d}-{1:02d}-{2:02d}.npy" mc = minecraft.Minecraft() mc.postToChat("Loadnpy.py Start!") if len(sys.argv) < 4: print("loadnpy.py mesh1 mesh2 mesh3") exit(-1) mesh1 = int(sys.argv[1]) mesh2 = int(sys.argv[2]) mesh3 = int(sys.argv[3]) array = np.load(NPY_DIR+"/"+NPY_FILE.format(mesh1, mesh2, mesh3)) (zshape, xshape) = array.shape for z in range(zshape): sleep(0.01) # sleep1 for x in range(xshape): hval = array[z][x] mc.setBlocks(x, hval-1, z, x, hval-5, z, block.DIRT) mc.setBlock(x, hval, z, block.GRASS) sleep(0.001) # sleep2 mc.postToChat("Loadnpy.py Finish!!!")
sleepを入れて操作は軽くなったけど、sleep時間を大きくするとじわじわブロックが設置されるのが見れて楽しいけど時間がかかるし、sleep時間を短くすると何列か溜まってからボロ、ボロっと表示されてしかも時間もそんなに短く感じない。 なかなか調整が難しい。
sleep1 | sleep2 | 評価 |
---|---|---|
0.1 | 0.01 | 軽くて楽しいけど時間がかかる |
0.01 | 0.001 | ボロボロ表示されるので楽しくない |
草+土x4じゃ、まだ穴が開いてる部分がある。