C++ Havok-您可以在运行时更改对象的颜色吗?

C++ Havok-您可以在运行时更改对象的颜色吗?,c++,game-engine,game-physics,mesh,havok,C++,Game Engine,Game Physics,Mesh,Havok,对于任何有Havok物理引擎经验的人: 有没有办法在运行时更改网格/对象的颜色?我正在使用演示框架,我想更改所有运动中的网格/对象的颜色(velocity>0)。这是我第一次使用Havok。在我的文档中找不到关于它的任何信息 谢谢 旁注:我注意到在stackoverflow上关于Havok的问题很少,当我搜索关于Havok online的问题时,我似乎找不到任何东西。所有Havok开发者都去哪里聊天?他们有论坛什么的?使用HVD-Havok Visual Debugger的解决方案: // Ne

对于任何有Havok物理引擎经验的人:

有没有办法在运行时更改网格/对象的颜色?我正在使用演示框架,我想更改所有运动中的网格/对象的颜色(
velocity>0
)。这是我第一次使用Havok。在我的文档中找不到关于它的任何信息

谢谢


旁注:我注意到在stackoverflow上关于Havok的问题很少,当我搜索关于Havok online的问题时,我似乎找不到任何东西。所有Havok开发者都去哪里聊天?他们有论坛什么的?

使用HVD-Havok Visual Debugger的解决方案:

// Needed for calling color change macro
#include <common\visualize\hkdebugdisplay.h>

// You'll of course need any other headers for any other physics stuff 
// you're doing in your file

void SetColorForPhysicsDebugger( unsigned int Red, unsigned int Green,
                                 unsigned int Blue, unsigned int Alpha, 
                                 const hkpCollidable* pCollidable )
{
    // Havok takes an unsigned int (32-bit), allowing 8-bits for 
    // each channel (alpha, red, green, and blue, in that
    // order).

    // Because we only need 8-bits from each of the 32-bit ints 
    // passed into this function, we'll mask the first 24-bits.
    Red &= 0x000000FF;
    Green &= 0x000000FF;
    Blue &= 0x000000FF;
    Alpha &= 0x000000FF;

    // Now we pack the four channels into a single int
    const uint32_t color = (Alpha << 24) | (Red << 16) | (Green << 8) | Blue;

    // We use the macro provided by Havok
    HK_SET_OBJECT_COLOR( reinterpret_cast<hkulong>( pCollidable ), color );
}
//调用颜色更改宏时需要
#包括
//当然,对于任何其他物理内容,您都需要任何其他标题
//你在你的档案里做什么
void SetColorForPhysicsDebugger(无符号整数红色、无符号整数绿色、,
无符号整数蓝色,无符号整数Alpha,
施工HKP可收费*可收费)
{
//Havok接受一个无符号整数(32位),允许8位用于
//每个通道(该通道中的alpha、红色、绿色和蓝色
//订单)。
//因为每个32位整数只需要8位
//传入此函数后,我们将屏蔽前24位。
红色&=0x000000FF;
绿色&=0x000000FF;
蓝色&=0x000000FF;
Alpha&=0x000000FF;
//现在我们将四个通道打包成一个整数

const uint32_t color=(Alpha使用HVD-Havok可视化调试器的解决方案:

// Needed for calling color change macro
#include <common\visualize\hkdebugdisplay.h>

// You'll of course need any other headers for any other physics stuff 
// you're doing in your file

void SetColorForPhysicsDebugger( unsigned int Red, unsigned int Green,
                                 unsigned int Blue, unsigned int Alpha, 
                                 const hkpCollidable* pCollidable )
{
    // Havok takes an unsigned int (32-bit), allowing 8-bits for 
    // each channel (alpha, red, green, and blue, in that
    // order).

    // Because we only need 8-bits from each of the 32-bit ints 
    // passed into this function, we'll mask the first 24-bits.
    Red &= 0x000000FF;
    Green &= 0x000000FF;
    Blue &= 0x000000FF;
    Alpha &= 0x000000FF;

    // Now we pack the four channels into a single int
    const uint32_t color = (Alpha << 24) | (Red << 16) | (Green << 8) | Blue;

    // We use the macro provided by Havok
    HK_SET_OBJECT_COLOR( reinterpret_cast<hkulong>( pCollidable ), color );
}
//调用颜色更改宏时需要
#包括
//当然,对于任何其他物理内容,您都需要任何其他标题
//你在你的档案里做什么
void SetColorForPhysicsDebugger(无符号整数红色、无符号整数绿色、,
无符号整数蓝色,无符号整数Alpha,
施工HKP可收费*可收费)
{
//Havok接受一个无符号整数(32位),允许8位用于
//每个通道(该通道中的alpha、红色、绿色和蓝色
//订单)。
//因为每个32位整数只需要8位
//传入此函数后,我们将屏蔽前24位。
红色&=0x000000FF;
绿色&=0x000000FF;
蓝色&=0x000000FF;
Alpha&=0x000000FF;
//现在我们将四个通道打包成一个整数

常数32\u t颜色=(Alpha他们迁移到了。@SmitYcyken那里关于Havok的问题更少了。互联网上关于Havok的讨论怎么可能如此之少?这是一个非常有名的物理引擎。很多人都在使用它……关于
HK\u SET\u OBJECT\u COLOR
?这是谷歌搜索Havok问题后的第一个链接在能够支付支持费用的大型团队中最受欢迎。在经常访问SO和SE站点的独立开发人员和小型开发人员中并不受欢迎。你会发现这些站点最适合大型社区的开源软件,不幸的是,Havok并不是这样。他们迁移到了。@SmitYcyken There ar关于Havok的问题就更少了。互联网上关于Havok的讨论怎么可能如此之少?它是一个非常有名的物理引擎。很多人都在使用它……关于
HK\u SET\u OBJECT\u COLOR
?这是谷歌搜索你的问题后的第一个链接Havok在大型capa团队中最受欢迎它在独立开发者和小时间开发者中并不流行,因为他们经常访问SO和SE站点。你会发现这些站点最适合大型社区的开源软件,不幸的是,Havok并不是这样。我看过这篇博客文章,但这似乎只适用于Havok的可视化调试器,而不是在实际运行演示期间。我希望能够在运行实际演示时设置颜色,而不是演示的可视化调试器。我看过那篇博文,但这似乎仅适用于Havok的可视化调试器,而不是在实际运行演示期间。我希望能够在运行实际演示时设置颜色,而不是演示。