Unity开发人工智能坦克大战项目源码


Unity开发人工智能坦克大战项目源码
资源截图
代码片段和文件信息
using System;
using UnityEngine;

using SPINACH.AI;

namespace ArtificialTankDriver_by_QI {

public class TankDriver : MonoBehaviour {

public Tank target;
public float viewRange;


public GeneticOptimizeableNerualNetwork network;

private void Awake() {
target = GetComponent();

network = new GeneticOptimizeableNerualNetwork(53);
var actvationFunction = new TanhFunction();
for (var i = 0; i < network.activateFunctions.Length; i++) {
network.SetActivationFunctionForlayer(i actvationFunction);
}
}

public double CalculateFitness() {
network.fitness = target.score;
return network.fitness;
}

//call per training update.
public void DoSomethingUseful() {
// calculate all input features

var inputs = new double[5];
var closestEnemy = target.ClosestEnemy(viewRange);

//assuming that closest one is always the one it trying to attack.

//distance between enemy.
inputs[0] = closestEnemy != null ? Vector3.Distance(transform.position closestEnemy.position) / viewRange : 1d;
//cos to enemy.
inputs[1] = closestEnemy != null ? Vector3.Dot(transform.right (closestEnemy.position - transform.position).normalized) : 1d;
//is weapon ready ?
inputs[2] = target.weaponReady ? 1d : 0d;
// current speed.
inputs[3] = target.rigidbody.velocity.magnitude / target.maxSpeed;
// current torque.
inputs[4] = target.rigidbody.angularVelocity.magnitude / target.maxTorque;

//feedforward
var output = network.Compute(inputs);

//drive
target.SetMove((float)output[0]);
target.SetRotate((float)output[1]);
if(output[2] > 0) target.Shoot();
}

private void OnDrawGizmosSelected() {
Gizmos.color = Color.blue;
Gizmos.DrawWireSphere(transform.positionviewRange);
}
}

}


 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2017-11-09 09:45  Unity-Neural-Network-Tanks-AI-master
     文件        6148  2017-11-09 09:45  Unity-Neural-Network-Tanks-AI-master.DS_Store
     文件         452  2017-11-09 09:45  Unity-Neural-Network-Tanks-AI-master.gitignore
     文件       11357  2017-11-09 09:45  Unity-Neural-Network-Tanks-AI-masterLICENSE
     目录           0  2017-11-09 09:45  Unity-Neural-Network-Tanks-AI-masterPackage
     文件        6148  2017-11-09 09:45  Unity-Neural-Network-Tanks-AI-masterPackage.DS_Store
     目录           0  2017-11-09 09:45  Unity-Neural-Network-Tanks-AI-masterProject
     文件        6148  2017-11-09 09:45  Unity-Neural-Network-Tanks-AI-masterProject.DS_Store
     目录           0  2017-11-09 09:45  Unity-Neural-Network-Tanks-AI-masterProjectArtificialTankDriver by QI
     文件        6148  2017-11-09 09:45  Unity-Neural-Network-Tanks-AI-masterProjectArtificialTankDriver by QI.DS_Store
     目录           0  2017-11-09 09:45  Unity-Neural-Network-Tanks-AI-masterProjectArtificialTankDriver by QI.idea
     目录           0  2017-11-09 09:45  Unity-Neural-Network-Tanks-AI-masterProjectArtificialTankDriver by QI.idea.idea.ArtificialTankDriver by QI
     目录           0  2017-11-09 09:45  Unity-Neural-Network-Tanks-AI-masterProjectArtificialTankDriver by QI.idea.idea.ArtificialTankDriver by QI.idea
     文件         227  2017-11-09 09:45  Unity-Neural-Network-Tanks-AI-masterProjectArtificialTankDriver by QI.idea.idea.ArtificialTankDriver by QI.ideacontentModel.xml
     文件         340  2017-11-09 09:45  Unity-Neural-Network-Tanks-AI-masterProjectArtificialTankDriver by QI.idea.idea.ArtificialTankDriver by QI.ideamodules.xml
     文件       72341  2017-11-09 09:45  Unity-Neural-Network-Tanks-AI-masterProjectArtificialTankDriver by QI.idea.idea.ArtificialTankDriver by QI.ideaworkspace.xml
     文件         654  2017-11-09 09:45  Unity-Neural-Network-Tanks-AI-masterProjectArtificialTankDriver by QI.idea.idea.ArtificialTankDriver by QI
iderModule.iml
     目录           0  2017-11-09 09:45  Unity-Neural-Network-Tanks-AI-masterProjectArtificialTankDriver by QIAssets
     文件        6148  2017-11-09 09:45  Unity-Neural-Network-Tanks-AI-masterProjectArtificialTankDriver by QIAssets.DS_Store
     文件         191  2017-11-09 09:45  Unity-Neural-Network-Tanks-AI-masterProjectArtificialTankDriver by QIAssetsArtificialTankDriver by QI.meta
     目录           0  2017-11-09 09:45  Unity-Neural-Network-Tanks-AI-masterProjectArtificialTankDriver by QIAssetsArtificialTankDriver by QI
     文件        6148  2017-11-09 09:45  Unity-Neural-Network-Tanks-AI-masterProjectArtificialTankDriver by QIAssetsArtificialTankDriver by QI.DS_Store
     文件         191  2017-11-09 09:45  Unity-Neural-Network-Tanks-AI-masterProjectArtificialTankDriver by QIAssetsArtificialTankDriver by QIMusic.meta
     目录           0  2017-11-09 09:45  Unity-Neural-Network-Tanks-AI-masterProjectArtificialTankDriver by QIAssetsArtificialTankDriver by QIMusic
     文件     2092325  2017-11-09 09:45  Unity-Neural-Network-Tanks-AI-masterProjectArtificialTankDriver by QIAssetsArtificialTankDriver by QIMusicA Flight in Dark v0.1.2.mp3
     文件         477  2017-11-09 09:45  Unity-Neural-Network-Tanks-AI-masterProjectArtificialTankDriver by QIAssetsArtificialTankDriver by QIMusicA Flight in Dark v0.1.2.mp3.meta
     文件         191  2017-11-09 09:45  Unity-Neural-Network-Tanks-AI-masterProjectArtificialTankDriver by QIAssetsArtificialTankDriver by QIPrefabs.meta
     目录           0  2017-11-09 09:45  Unity-Neural-Network-Tanks-AI-masterProjectArtificialTankDriver by QIAssetsArtificialTankDriver by QIPrefabs
     文件        3253  2017-11-09 09:45  Unity-Neural-Network-Tanks-AI-masterProjectArtificialTankDriver by QIAssetsArtificialTankDriver by QIPrefabsShell.prefab
     文件         209  2017-11-09 09:45  Unity-Neural-Network-Tanks-AI-masterProjectArtificialTankDriver by QIAssetsArtificialTankDriver by QIPrefabsShell.prefab.meta
     文件       13053  2017-11-09 09:45  Unity-Neural-Network-Tanks-AI-masterProjectArtificialTankDriver by QIAssetsArtificialTankDriver by QIPrefabsTank.prefab
............此处省略778个文件信息

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件举报,一经查实,本站将立刻删除。

发表评论

评论列表(条)