Alright, lemme start off that I’ve done my fair share of searching. I’ve seen many techniques and the one that really appeals to me is viewports, as it seems that has the least amount of framerate drop. I want to ask how I would go about that? I know it involves Python but I have not found a script and I am not too good with Python yet.
add properties to each item you wish to track.
have
Always (120) true-------------python1
Always2 (5)----------------------/
import bge
cont=bge.logic.getCurrentcontroller()
own=cont.owner
always=cont.sensors['Always']
always2=cont.sensors['Always2']
if always.Positive or 'init' not in own:
D=30
if 'init' not in own:
own['Init']=True
own['ItemList']=[]
scene=bge.logic.getCurrentScene()
for items in scene.objects:
if player.getDistanceTo(items)<D and 'Property' in items:
own['ItemList']+=[Items]
if always2.positve:
for items in own['ItemList']:
addObject=scene.addObject("blip",own,5)
addObject.setParent(own,0,1)
addObject.worldPosition=own.worldPosition+((items.worldPosition*own.worldOrientation)*Scale)
it may need work and it’s untested
Steaming hot blend
Still needs work
Edit :Added version 2 (looks right to me, but I have not tested extensively)
Attachments
MinMapDemo.blend (477 KB)MinMapDemo2.blend (493 KB)