def _generate_reset_input(self, training, config: ArenaConfig) -> UnityRLInput:
     rl_in = UnityRLInput()
     rl_in.is_training = training
     rl_in.command = 1
     rl_reset = UnityRLResetInput()
     if (config is not None):
         rl_reset.CopyFrom(config.dict_to_arena_config())
     result = UnityInput()
     result.rl_input.CopyFrom(rl_in)
     result.rl_reset_input.CopyFrom(rl_reset)
     return result
Beispiel #2
0
    def dict_to_arena_config(self) -> UnityRLResetInput:
        config_out = UnityRLResetInput()

        for k in self.arenas:
            config_out.arenas[k].CopyFrom(ArenaParametersProto())
            config_out.arenas[k].t = self.arenas[k].t
            config_out.arenas[k].blackouts.extend(self.arenas[k].blackouts)
            for item in self.arenas[k].items:
                to_spawn = config_out.arenas[k].items.add()
                to_spawn.name = item.name
                to_spawn.positions.extend(
                    [v.to_proto() for v in item.positions])
                to_spawn.rotations.extend(item.rotations)
                to_spawn.sizes.extend([v.to_proto() for v in item.sizes])
                to_spawn.colors.extend([v.to_proto() for v in item.colors])

        return config_out