HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2019
0921
砂時 計hgimg4 直方体(剛体)が欲しい0解決


砂時 計

リンク

2019/9/21(Sat) 14:09:18|NO.88465

物理演算でドミノ倒しのような動きが欲しいので
hgimg4 に gpbox の xyz の長さが個別に指定できる命令があると嬉しいです(gpcuboid?)。
表示は scale で変更できますが
size は変更されないため立方体剛体のままなので
倒れる動作が作れないからです。


http://dev.onionsoft.net/trac/openhsp/browser/trunk/hsp3dish/win32gp/gamehsp.cpp


int gamehsp::makeCuboidNode( float x, float y, float z, int color, int matid ) { Mesh *mesh; gpobj *obj = addObj(); if ( obj == NULL ) return -1; mesh = createCuboidMesh( x, y, z ); Material *material; if ( matid < 0 ) { int matopt = 0; if ( _curlight < 0 ) matopt |= GPOBJ_MATOPT_NOLIGHT; material = makeMaterialColor( color, matopt ); makeNewModel(obj, mesh, material); } else { material = getMaterial(matid); if (material) { makeNewModelWithMat(obj, mesh, matid); } else { material = makeMaterialColor(-1, GPOBJ_MATOPT_NOLIGHT); makeNewModel(obj, mesh, material); } } // 初期化パラメーターを保存 obj->_shape = GPOBJ_SHAPE_BOX; obj->_sizevec.set( x, y, z ); // メッシュ削除 SAFE_RELEASE(mesh); if ( _curscene >= 0 ) { _scene->addNode( obj->_node ); } BoundingSphere bound = obj->_node->getBoundingSphere(); return obj->_id; } // createCubeMesh の代わり Mesh *gamehsp::createCuboidMesh( float z, float y, float z ) { float a = x * 0.5f; float b = y * 0.5f; float c = z * 0.5f; float vertices[] = { -a, -b, c, 0.0, 0.0, 1.0, 0.0, 0.0, a, -b, c, 0.0, 0.0, 1.0, 1.0, 0.0, -a, b, c, 0.0, 0.0, 1.0, 0.0, 1.0, a, b, c, 0.0, 0.0, 1.0, 1.0, 1.0, -a, b, c, 0.0, 1.0, 0.0, 0.0, 0.0, a, b, c, 0.0, 1.0, 0.0, 1.0, 0.0, -a, b, -c, 0.0, 1.0, 0.0, 0.0, 1.0, a, b, -c, 0.0, 1.0, 0.0, 1.0, 1.0, -a, b, -c, 0.0, 0.0, -1.0, 0.0, 0.0, a, b, -c, 0.0, 0.0, -1.0, 1.0, 0.0, -a, -b, -c, 0.0, 0.0, -1.0, 0.0, 1.0, a, -b, -c, 0.0, 0.0, -1.0, 1.0, 1.0, -a, -b, -c, 0.0, -1.0, 0.0, 0.0, 0.0, a, -b, -c, 0.0, -1.0, 0.0, 1.0, 0.0, -a, -b, c, 0.0, -1.0, 0.0, 0.0, 1.0, a, -b, c, 0.0, -1.0, 0.0, 1.0, 1.0, a, -b, c, 1.0, 0.0, 0.0, 0.0, 0.0, a, -b, -c, 1.0, 0.0, 0.0, 1.0, 0.0, a, b, c, 1.0, 0.0, 0.0, 0.0, 1.0, a, b, -c, 1.0, 0.0, 0.0, 1.0, 1.0, -a, -b, -c, -1.0, 0.0, 0.0, 0.0, 0.0, -a, -b, c, -1.0, 0.0, 0.0, 1.0, 0.0, -a, b, -c, -1.0, 0.0, 0.0, 0.0, 1.0, -a, b, c, -1.0, 0.0, 0.0, 1.0, 1.0 }; // 省略



この記事に返信する


ONION software Copyright 1997-2023(c) All rights reserved.