能不能通过C++控制两个static mesh相对运动?
能不能通过C++控制两个static mesh相对运动?例如坦克车身和炮塔的相互转动?UPROPERTY(VisibleDefaultsOnly, Category = Mesh)
class UStaticMeshComponent* APC_Body;
UPROPERTY(VisibleDefaultsOnly, Category = Mesh)
class UStaticMeshComponent* APC_Turret;
这么写以后 在编辑器里面调用蓝图,对应于APC_Body和APC_Turret调用不了静态网格文件
已经解决了,注意类定义需要继承自Pawn而不是Character。 楼主 请问这两个网格是怎么分别和你的两个指针对应的呢 我导入的骨骼mesh有名字 但是不知道怎么引用 蓝图自动引用 c++就不会了 飞天鼠 发表于 2016-10-9 09:19
楼主 请问这两个网格是怎么分别和你的两个指针对应的呢 我导入的骨骼mesh有名字 但是不知道怎么引用 蓝图自 ...
我发的这个是static mesh,跟skeletal mesh使用类似。你说的这个两个方法:第一种,你先在C++里写好语句,然后编译后在编辑器中选项框里点击调用你需要的skeletal mesh就行了。第二种,直接把需要调用的骨骼文件目录放到C++里面。我给你分别演示一下:
第一种方法:
public:
UPROPERTY(Category = Mesh, VisibleDefaultsOnly, BlueprintReadWrite, meta = (AllowPrivateAccess = "true"))
class UStaticMeshComponent* APC_Body;
UPROPERTY(Category = Mesh, VisibleDefaultsOnly, BlueprintReadWrite, meta = (AllowPrivateAccess = "true"))
class UStaticMeshComponent* APC_Turret;
UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category = Camera, meta = (AllowPrivateAccess = "true"))
class UCameraComponent* FirstCameraComponent;
第二种方法:
//资源加载
static ConstructorHelpers::FObjectFinder<USkeletalMesh> CarMesh(TEXT("/Game/Mesh/8_Wheel.8_Wheel"));
GetMesh()->SetSkeletalMesh(CarMesh.Object);
static ConstructorHelpers::FClassFinder<UObject> AnimBPClass(TEXT("/Game/Mesh/Vehicle8W-BP"));
GetMesh()->SetAnimInstanceClass(AnimBPClass.Class); 飞天鼠 发表于 2016-10-9 09:19
楼主 请问这两个网格是怎么分别和你的两个指针对应的呢 我导入的骨骼mesh有名字 但是不知道怎么引用 蓝图自 ...
注意一下,第一个方法代码里面我使用static mesh,第二个我用的是skeletal mesh scorpio_b 发表于 2016-10-9 15:05
我发的这个是static mesh,跟skeletal mesh使用类似。你说的这个两个方法:第一种,你先在C++里写好语句 ...
非常感谢 楼主 我想用纯c++调用 蓝图的我已经尝试成功 最后的结果要画好多个函数 所以放弃了 我采用你提供的下面的方法 建了一个character类 在beginplay(或tick)里调用 编译成功 但是一执行ue4就crash了 TAT // Called when the game starts or when spawned
void AMyCharacter::BeginPlay()
{
Super::BeginPlay();
static ConstructorHelpers::FObjectFinder<USkeletalMesh> CarMesh(TEXT("/Game/StarterContent/Blueprints/Assets/EyeLeft_Mesh"));
GetMesh()->SetSkeletalMesh(CarMesh.Object);
}
楼主哇 我导入的骨骼类型是skeletalmesh 需要用到skeletalmeshComponent类里的一个函数setmorphtarget做变形效果 GetMesh()->SetSkeletalMesh(CarMesh.Object);这句话完了之后是不是我就可以直接用GetMesh()调用skeletalmeshComponent类里的函数了 因为已经mesh进来了
飞天鼠 发表于 2016-10-9 18:20
非常感谢 楼主 我想用纯c++调用 蓝图的我已经尝试成功 最后的结果要画好多个函数 所以放弃了 我采用你提 ...
楼主 那个crash我错了 应该放构造里 就是不明白 GetMesh()->SetSkeletalMesh(CarMesh.Object); 这句话把我载入的mesh给谁了 能给某个skeletalmeshComponent对象吗 因为想要调用它里面的函数 飞天鼠 发表于 2016-10-9 18:42
楼主 那个crash我错了 应该放构造里 就是不明白 GetMesh()->SetSkeletalMesh(CarMesh.Object); 这句话把 ...
我用的是车辆的vehicle,你的是character,你去demo看看人家射击那个C++,估计是类的差异性导致问题
页:
[1]