真是繁忙的一个月啊。不过毕竟还是有成果的,经过大家连夜奋战,《问鼎》终于出了一个相对完整的版本。可以进行“游戏”了。
从科学的角度来说,连夜加班并不是一个明智的举动,因为疲倦,导致效率无法维持,而且版本快完成时很多人会陷入等待无法提供支援。但是从项目进展的角度来说,这表明了一个态度:一定要确保计划的执行。这样,可以让我们更重视计划的执行,从而达到平时工作更紧张、更有序的目的,以确保最终完成。
不论怎么说,项目组的人的确非常勤奋,在这样的前提下,如果我们不能做好,那还有什么可说的呢?
2007年9月30日星期日
OGRE中如何将SceneNode挂接在Entity的Bone上
OGRE本身支持将一个MovableObject挂接到Entity的Bone上,但是不支持将一个SceneNode直接挂接上去。很不方便,但是我也没有看到合适的已封装好的解决方案。
我们看一下目前实现:
TagPoint* Entity::attachObjectToBone(const String &boneName, MovableObject *pMovable, const Quaternion &offsetOrientation, const Vector3 &offsetPosition)
{
...
Bone* bone = mSkeletonInstance->getBone(boneName);
...
TagPoint *tp = mSkeletonInstance->createTagPointOnBone(
bone, offsetOrientation, offsetPosition);
tp->setParentEntity(this);
tp->setChildObject(pMovable);
attachObjectImpl(pMovable, tp);
...
return tp;
}
挂接的步骤为:
class _OgreExport TagPoint : public Bone
{
...
而Bone:
class _OgreExport Bone : public Node
{
...
TagPoint来自Bone,间接的继承自Node。当Skeleton动画更新时,将通知到这个节点进行更新时,TagPoint在虚函数
updateFromParentImpl
中进行变换矩阵的处理。
为了达到直接挂接SceneNode的目的,我采用了一个并不优雅但是相对简易的方案:
我们看一下目前实现:
TagPoint* Entity::attachObjectToBone(const String &boneName, MovableObject *pMovable, const Quaternion &offsetOrientation, const Vector3 &offsetPosition)
{
...
Bone* bone = mSkeletonInstance->getBone(boneName);
...
TagPoint *tp = mSkeletonInstance->createTagPointOnBone(
bone, offsetOrientation, offsetPosition);
tp->setParentEntity(this);
tp->setChildObject(pMovable);
attachObjectImpl(pMovable, tp);
...
return tp;
}
挂接的步骤为:
- 取得Bone
- 在Bone上创建一个TagPoint
- 将MovableObject挂接到TagPoint上
class _OgreExport TagPoint : public Bone
{
...
而Bone:
class _OgreExport Bone : public Node
{
...
TagPoint来自Bone,间接的继承自Node。当Skeleton动画更新时,将通知到这个节点进行更新时,TagPoint在虚函数
updateFromParentImpl
中进行变换矩阵的处理。
为了达到直接挂接SceneNode的目的,我采用了一个并不优雅但是相对简易的方案:
- 增加一个MovableObjectSceneNode类,它继承自MovableObject
- 将MovableObjectSceneNode类实例挂接到TagPoint上
- MovableObjectSceneNode类创建一个影子SceneNode,挂接在SceneManager的根节点下
- 将需要挂接的SceneNode挂接到影子SceneNode上
- 当MovableObjectSceneNode被通知刷新时,刷新影子SceneNode的变换矩阵
2007年9月1日星期六
全民贪污
看了家乐福开除受贿员工并引入司法介入的新闻,颇有感慨:
"许远介绍说,商品运到家乐福后,供货商要排队入库。门卫的态度很重要,“为了早些把货送进仓库,给门卫送几条烟或拿几个杯子很正常。不然遇到促销旺季,有时候等一天都进不去,超市里很可能就缺货了。”商品进入仓库后,还要摆平收货组。有的收货组会以手续不齐为借口拖延,这个环节供货商要付出数百元费用。
还有让你更想不到的,家乐福有的临时理货员会不时给供货商打电话,拿出手机话费单、的票等让供货商报销。许远解释说,他们的权力是,清理货架时,安排相应商品的位置。满足了他们,货就会被摆在同类商品的前面。"
不光是课长,即使是一个最普通的员工,用手里微弱的权力也可以不动声色的达到贪污的目的。中国的贪污腐败严重吗?严重,他严重在全民贪污,全民腐败,大部分人都在利用一切可能去贪污,如果没有机会,他就抱怨这个社会不公。
还好,我看到了逐步改善的征兆,记得多年以前,因为商业受贿而倒下的人实在太少了,一般都是开除了事。现在司法终于能够覆盖到越来越多的商业领域了,这算是照向阴暗角落的一缕光吧。
在制度完善前,在风气净化前,我想一个从内心深处希望中国变得更好的人,应少点抱怨,而是先从自己做起,拒绝腐败。若你不能逆流而行,也不要顺势而下,主动堕落。
附:原文出处
http://finance.sina.com.cn/chanjing/b/20070831/07003934836.shtml
"许远介绍说,商品运到家乐福后,供货商要排队入库。门卫的态度很重要,“为了早些把货送进仓库,给门卫送几条烟或拿几个杯子很正常。不然遇到促销旺季,有时候等一天都进不去,超市里很可能就缺货了。”商品进入仓库后,还要摆平收货组。有的收货组会以手续不齐为借口拖延,这个环节供货商要付出数百元费用。
还有让你更想不到的,家乐福有的临时理货员会不时给供货商打电话,拿出手机话费单、的票等让供货商报销。许远解释说,他们的权力是,清理货架时,安排相应商品的位置。满足了他们,货就会被摆在同类商品的前面。"
不光是课长,即使是一个最普通的员工,用手里微弱的权力也可以不动声色的达到贪污的目的。中国的贪污腐败严重吗?严重,他严重在全民贪污,全民腐败,大部分人都在利用一切可能去贪污,如果没有机会,他就抱怨这个社会不公。
还好,我看到了逐步改善的征兆,记得多年以前,因为商业受贿而倒下的人实在太少了,一般都是开除了事。现在司法终于能够覆盖到越来越多的商业领域了,这算是照向阴暗角落的一缕光吧。
在制度完善前,在风气净化前,我想一个从内心深处希望中国变得更好的人,应少点抱怨,而是先从自己做起,拒绝腐败。若你不能逆流而行,也不要顺势而下,主动堕落。
附:原文出处
http://finance.sina.com.cn/chanjing/b/20070831/07003934836.shtml
订阅:
博文 (Atom)